Amazon S3 文件上传:抛出 403
Amazon S3 File Upload: throwing up 403
我一直在尝试使用 AjaxFileUpload 来实现分段文件上传功能。
这是我的要求的用例:
- 点击server-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 键中,甚至尝试完全省略它。
我想知道我在前端做错了什么,还是只是后端的错?
更新:好吧,问题出在后端。后端人员搞砸了权限。现在他已经修复了他的部分,一切都按预期工作。所以,简而言之,回答我的问题,前端部分没有任何错误,只是后端有问题。
我一直在尝试使用 AjaxFileUpload 来实现分段文件上传功能。
这是我的要求的用例:
- 点击server-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 键中,甚至尝试完全省略它。
我想知道我在前端做错了什么,还是只是后端的错?
更新:好吧,问题出在后端。后端人员搞砸了权限。现在他已经修复了他的部分,一切都按预期工作。所以,简而言之,回答我的问题,前端部分没有任何错误,只是后端有问题。