我正在使用https://github.com/blueimp/jQuery-File-Upload将文件上传到我的 Rails 应用程序上的 S3(安装此 gem:https ://github.com/tors/jquery-fileupload-rails )。
这是我的表格。由于我只需要上传文件并稍后创建文档,因此它不是 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,但是当文件的进度条完成时,它给了我一个错误,并且文件实际上并没有被上传。
类型错误: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.