jQuery-file-upload - 从AWS S3获得400个错误请求

时间:2014-12-30 22:21:01

标签: jquery html5 file-upload jquery-file-upload

我按照此处的说明进行程序化文件上传:

https://github.com/blueimp/jQuery-File-Upload/wiki/API

我通过调用

获取了我的文件列表
var filesToUpload = $('#fileupload')[0].files 

返回如下数组:

FileList {0: File, 1: File, length: 2, item: function}
0:File
lastModified: 1413746649000
lastModifiedDate: Sun Oct 19 2014 12:24:09 GMT-0700 (PDT)
name: "Screen Shot 2014-10-19 at 11.26.56 AM.jpg"
size: 582848type: "image/jpeg"
webkitRelativePath: ""

1: File
lastModified: 1413746649000
lastModifiedDate: Sun Oct 19 2014 12:24:09 GMT-0700 (PDT)
name: "Screen Shot 2014-10-19 at 11.27.08 AM.jpg"
size: 598589
type: "image/jpeg"
webkitRelativePath: ""

然后我打电话给:

var options = {url: 'https://s3.amazonaws.com/MYBUCKET',
    type: 'POST',
    formData: formDataOptions // my secret key, signature, etc. I know this is all correct
    }

    $('#fileupload').fileupload(); // initialization
    $('#fileupload').fileupload( // set options
    'option',
        {
            options
        }
    }
);

$('#fileupload').fileupload('add', {files: filesToUpload}); // add files
$('#fileupload').fileupload('send', {files: filesToUpload}); // send, no diff if I include filesToUpload again here

我回来了:

POST https://s3.amazonaws.com/MYBUCKET 400 (Bad Request)

现在,我知道我的选项和formParams是正确的,因为我在使用fileupload()的标准用法时使用了完全相同的配置,并且它工作正常。我很确定这个问题与我使用的filesToUpload数组有关。虽然它有对象,但它们是" File"对象,有时在fileupload()的调试器中(当以标准方式使用fileupload时)我发现它有" Blob"对象而不是。我是否需要以某种方式获得" Blob"对象,以便正确提交?或者还有什么呢?

0 个答案:

没有答案