注意:我目前正在针对Google Chrome 33.0进行开发
我的上传表单如下:
= s3_uploader_form callback_url: importer_create_path, class: "s3-uploader" do
= hidden_field_tag "Content-Type", ""
= file_field_tag :file, multiple: true
= submit_tag "Upload File(s)", class: "btn btn-primary"
注意:" hidden_field_tag"不包括在文档中,但S3给了我一个" Access Denied"如果我不包括该行,则说其中一个存储桶规则被违反。
提交表单后,文件上传,完成后,浏览器将重定向到XML文档:
<PostResponse>
<Location>
https://s3.amazonaws.com/bucketname/uploads%2F%7Btimestamp%7D-%7Bunique_id%7D-539661a0152fdb07dec27a5cd7d72c16%2F
</Location>
<Bucket>buckentname</Bucket>
<Key>
uploads/{timestamp}-{unique_id}-539661a0152fdb07dec27a5cd7d72c16/
</Key>
<ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
</PostResponse>
我的application.js中有//= require s3_direct_upload
,而application.css.scss中有*= require s3_direct_upload_progress_bars
。此外,我有要求:
$(".s3-uploader").S3Uploader()
在我的importer.js.coffee文件中。
据我所知,我已经遵循了Github上s3_direct_upload的README中概述的所有内容。为什么我被重定向到XML文件?
另外值得注意的是,当从Chrome的文件选择器中选择文件时,文件字段文本仍为&#34;未选择文件&#34;。提交表单时,(通常)上传文件。