Amazon S3文件上传:抛出403

时间:2019-03-11 12:06:18

标签: jquery ajax amazon-s3 jsajaxfileuploader

我一直在尝试使用AjaxFileUpload来实现多部分文件上传功能。

这是我要求的用例:

  1. 点击服务器A以获取一个预签名的URL,该URL有效期为15分钟。
  2. 预签名的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调用已得到充分授权,并包装在各自的身份验证群集中。

根据在Internet上找到的各种解决方案,我看到我需要更改请求中的内容类型。我尝试将“ application / xml”,“ application / json”放入contentType键中,甚至尝试完全省略它。

我想知道前端在这里做错了什么,还是后端的错?

1 个答案:

答案 0 :(得分:1)

更新:嗯,问题出在后端。后端家伙搞砸了权限。现在他已经固定了自己的角色,一切都按预期进行。因此,简而言之,要回答我的问题,前端部分没有问题,只是后端有问题。