在我的 Rails 应用程序(3.2.12)中,我使用jquery-fileupload-rails gem 让用户能够上传个人资料图片。在 Chrome 和 Safari 中一切正常,但在 Internet Explorer 中(我使用版本 10 对其进行了测试)我什至无法选择要上传的文件。当我单击“添加文件”按钮时,他没有显示选择文件的对话框,而是立即向上传操作发出一个空请求,从而导致 json 响应显示一个空的照片对象。这是我当前用于初始化文件上传的 js(我已经从 IE 和 csrf-tokens 的问题中添加了一些代码):
// Initialize the jQuery File Upload widget:
$('#fileupload').fileupload({
dataType: 'json',
acceptFileTypes: /(\.|\/)(gif|jpe?g|png|tiff)$/i
});
// Enable iframe cross-domain access via redirect option:
$('#fileupload').fileupload(
'option',
'redirect',
window.location.href.replace(/\/[^\/]*$/, '/photos?%s')
);
//add csrf token manually for ie iframe transport
$('#fileupload').bind('fileuploadsend', function(event, data) {
auth_token = $('meta[name="csrf-token"]').attr('content');
data.url = data.url + '?authenticity_token=' + encodeURIComponent(auth_token);
$.blueimp.fileupload.prototype.options.send.call(this, event, data);
});
以及用于响应的控制器代码,其中我已经(希望是正确的)将内容类型设置为“文本/纯文本”:
format.html {
render json: [@photo.to_jq_upload].to_json,
content_type: 'text/plain', #content_type: 'text/html',
layout: false
}
format.json {
render json: {files: [@photo.to_jq_upload]},
content_type: 'text/plain',
status: :created,
location: @photo
}
有谁知道,如何让它在 IE 中工作,可以帮助我吗?谢谢 :)