【问题标题】:s3_direct_upload redirects to S3's XML response from Railss3_direct_upload 从 Rails 重定向到 S3 的 XML 响应
【发布时间】: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


【解决方案1】:

看来我做错了。问题是我忘记包含正确的 Javascript 文件。为了更好的解释,我建议查看 Github 问题here

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 2011-05-15
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2018-03-15
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多