我在使用https://github.com/blueimp/jQuery-File-Upload将文件上传到我的Rails应用程序中的S3(已安装此软件:https://github.com/tors/jquery-fileupload-rails)。使用jQuery fileupload插件直接上传到Amazon S3
这是我的表格。由于我只需要上传文件并在稍后创建文档,因此它不是form_for。
<%= form_tag 'Bucket URL SNIP', :multipart => true, :id => "fileupload" do %>
<%= hidden_field_tag 'key', @token %>
<%= hidden_field_tag 'AWSAccessKeyId', ACCESSKEYSNIP %>
<%= hidden_field_tag 'acl', 'public-read' %>
<%= hidden_field_tag 'success_action_status', '200' %>
<%= hidden_field_tag 'policy', controller.s3_policy_document %>
<%= hidden_field_tag 'signature', controller.signature %>
<% end %>
而jQuery的上传者是这样初始化:
$(function() {
$('#fileupload').fileupload({
forceIframeTransport: true
});
});
一切正常,我看到了UI,但是当文件的进度条完成后,它给了我一个错误,该文件不实际上传。
TypeError:iframe未定义。 (Firefox) TypeError:TypeError:无法读取属性'0'的未定义(Chrome)
可能是什么问题?
编辑:
望着的Javascript控制台,我得到这样一个错误(取代了真实地址):
Unsafe JavaScript attempt to access frame with URL BUCKETURL from frame with URL SERVERURL. Domains, protocols and ports must match.
可以共享政策文件? –
http://ideone.com/9f4XD 通用存储桶名称,该标记与 – SMK
相同放置'starts-with','$ key',''而不是'starts-with','$关键',#{令牌} –