【发布时间】:2014-04-18 19:04:55
【问题描述】:
注意:我目前正在针对 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 给我一个“拒绝访问”,表示如果我不包含该行,则违反了存储桶规则之一。
提交表单后,文件上传,完成后,浏览器将重定向到 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 的文件选择器中选择文件时,文件字段文本仍然是“未选择文件”。提交表单后,文件会(通常)上传。
【问题讨论】:
-
我遇到了同样的问题。你解决了吗?
标签: ruby-on-rails file-upload amazon-s3