Я использую fineuploader-5.0.7 s3 для загрузки файлов непосредственно на S3. И я также устанавливаю конечную точку в свой внутренний файл php.Точная загрузка Размер метаданных S3 превышает
var options = {
debug: true,
template: "qq-template-manual-noedit",
autoUpload: false,
multiple: false,
request: {
endpoint: UploadVars.endpoint,
accessKey: UploadVars.accessKey,
},
signature: {
endpoint: "entry_essay_handler_s3.php"
},
uploadSuccess: {
endpoint: "entry_essay_handler_s3.php?success"
},
// required if non-File-API browsers, such as IE9 and older, are used
iframeSupport: {
localBlankPagePath: 'blank.html'
},
validation: {
allowedExtensions: UploadVars.allowedExtensions,
sizeLimit: UploadVars.sizeLimit
},
showMessage: function(message) {
// Using Twitter Bootstrap's classes and jQuery selector and method
console.log(message);
$('#imageUploadmsg').html(message);
$('#imageUploadmsg').css('visibility','visible');
},
objectProperties: {
key: function (id) {
return getUploadPath(id);
}
},
chunking: {
enabled: true
},
retry: {
enableAuto: true
},
resume: {
enabled: true
},
messages:{
unsupportedBrowser: "You need to update your browser in order to upload a file."
}
};
Эта запись_essay_handler_s3.php проанализирует элемент пользовательской формы и сохранит их в базе данных. Дело в том, что некоторые из полей содержат более 2 КБ текста, и он отправляется в aws вместе с прикреплением файлов. И я получил эту ошибку от aws. Ваши заголовки метаданных превышают максимально допустимый размер метаданных Я не хочу отправлять метаданные в aws, но я должен получить метаданные в моей конечной точке php.
Я использую этот код в моем PHP
switch ($k):
case 'key':
$key = $val;
break;
case 'bucket':
$bucket = $val;
break;
case 'x-amz-meta-title':
$_POST['title'] = urldecode($val);
break;
case 'x-amz-meta-caption':
$_POST['caption'] = urldecode($val);
break;
case 'x-amz-meta-essay':
$_POST['essay'] = urldecode($val);
break;
case 'x-amz-meta-entry_custom1':
$_POST['entry_custom1'] = urldecode($val);
break;
case 'x-amz-meta-entry_custom2':
$_POST['entry_custom2'] = urldecode($val);
break;
case 'x-amz-meta-entry_custom3':
$_POST['entry_custom3'] = urldecode($val);
break;
case 'x-amz-meta-entry_custom4':
$_POST['entry_custom4'] = urldecode($val);
break;
case 'x-amz-meta-entry_custom5':
$_POST['entry_custom5'] = urldecode($val);
break;
endswitch;