javascript - jQuery File Uploader IE9 不在上传时发布任何参数

标签 javascript jquery file-upload blueimp

我正在使用 jQuery 文件 uploader 插件和 Rails 3。插件在这里:

https://github.com/blueimp/jQuery-File-Upload

我正在使用插件来允许用户上传个人资料照片。该解决方案目前适用于 Chrome、Safari 和 Firefox。但是在 IE 上它失败了。当您在 IE 中选择一个文件时,插件会发送到服务器但没有参数,它是一个空的发送。

chrome 中的示例帖子:

Started PUT "/api/1/settings/ajax_photo_upload" for 10.0.1.3 at 2012-10-02 15:39:20 -0700
Processing by ApiV1::SettingsController#ajax_photo_upload as JS
  Parameters: {"photo"=>#<ActionDispatch::Http::UploadedFile:0x007f9e4bac2e48 @original_filename="xxxxx.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"user[photo]\"; filename=\"xxxxx.jpeg\"\r\nContent-Type: image/jpeg\r\n", @tempfile=#<File:/var/folders/3x/k1yb0r4s07q1jm82kq93ch180000gn/T/RackMultipart20121002-3633-sxsbtu>>}, "update_type"=>"general"}

但是在 IE9 中,它不会发送任何东西:

Started PUT "/api/1/settings/ajax_photo_upload" for 10.0.1.10 at 2012-10-02 15:39:31 -0700
Processing by ApiV1::SettingsController#ajax_photo_upload as JS

这是我的实现:

$('input[type="file"]').fileupload({
    url : '/api/1/settings/ajax_photo_upload',
    formData : [{
        name : 'authenticity_token',
        value : $('meta[name="csrf-token"]').attr('content')
    }],
    type : 'PUT',
    dataType: 'json',
    add : function (e, data) {
            data.submit();
    }
});

html

<input name="user[photo]" type="file" accept="image/*" >

知道为什么 IE 会这样做吗?谢谢

最佳答案

您使用的是基本插件吗?我曾经和我遇到过同样的问题并与之斗争了一天才意识到我没有包含 jquery.iframe-transport.js 插件:

<script src="js/jquery.iframe-transport.js"></script>

参见文档 here .

哦!并感谢您关于将“authenticity_token”键值对包含为“formData”的片段 - 这帮助我摆脱了 Rails 3 警告“警告:无法验证 CSRF token 真实性”

关于javascript - jQuery File Uploader IE9 不在上传时发布任何参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12699617/

相关文章:

javascript - Laravel Ajax 使用循环显示数据

jquery - 为什么 uploadify(jQuery 插件)不工作?我的代码有什么问题吗?

javascript - 从 Telerik 切换到 Kendo UI 缺少​​ orderBy 和 filter By

java - 将文件上传到谷歌应用程序引擎

javascript - 如何在jsp中获取&lt;input type ="file"的文件名

spring-boot - 无论如何我们可以使用 Spring Cloud Functions + AWS Lambda 适配器来处理 http 文件上传吗?

javascript - Backbone View 中的每个方法后面都需要 "return this"吗?

javascript - 如何修复 md-tabs 和 md-toolbar 以及滚动 md-content?

javascript - 使 textarea 文本加粗的按钮

jquery - 单击任意位置关闭 MagnificPopup ajax 框