Я пытался реализовать функцию загрузки нескольких файлов, в которой я использую AjaxFileUpload для достижения этой цели.
Вот пример использования моего требования:
- Hitserver-A для получения предварительно назначенного URL-адреса, который действителен в течение 15 минут.
- Предварительно назначенный URL-адрес - это, в основном, путь, по которому я пытаюсь загрузить многокомпонентный файл.Этот путь относится к серверу Amazon S3.
Проблема в том, что я получаю 403 здесь, на втором шаге.
Я проверил звонки со своей стороны, ониидут нормально, и, согласно бэкэнду, они также должны работать хорошо.
Вот мой блок кода загрузки файла:
$.ajaxFileUpload({
url : data.preSignedUploadUrl,
secureuri : true,
fileElementId : 'uploadFile',
dataType : 'json',
contentType: "application/xml",
success : function(data, status) {
if(data.successful == true){
self.sendUploadAcknowledgement(fileName);
}else{
$('#errorMessage').html(data.errors[0].description);
}
},
error: function(err){
console.error("Error in uploading file to S3!");
console.log(err);
}
});
Обратите внимание, что вызовы API хорошо авторизованы.и упакованы в соответствующие им кластеры аутентификации.
На основе различных решений, найденных в Интернете, я понял, что мне нужно изменить свой тип контента в запросе.Я попытался поместить "application / xml", "application / json" в ключ contentType, даже попытался полностью его опустить.
Я хочу знать, что я делаю не так здесь, на веб-интерфейсе, или это просто ошибкабэкэнд?