我使用jQuery的文件上傳插件與鋼軌沿3插件這裏的任何PARAMS:jQuery的文件上傳IE9不張貼在上傳
https://github.com/blueimp/jQuery-File-Upload
我使用該插件允許用戶上傳個人資料照片。目前該解決方案適用於Chrome,Safari和Firefox。但在IE上它失敗了。當你在IE中選擇一個文件時,該插件發佈到服務器,但沒有參數,這是一個空的帖子。
實例後鍍鉻:
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會這樣做?謝謝
哪個數據標籤? – AnApprentice
我想說的是數據屬性。當您添加圖片上傳時,請檢查Google Chrome的「檢查元素」。它得到blob:http%3A // blueimp.github.com它來自html 5本地數據存儲。您可以看到預覽圖像。在IE9中做同樣的事情。您只會看到文件名稱不支持本地數據屬性。 – 2012-10-02 23:13:43