![](/img/trans.png)
[英]jQuery blueimp File Upload : Uploads N - 1 files to server in IE
[英]jQuery $_FILES array empty with blueimp file upload plugin in IE8/9
有關與IE8 / 9中的Blueimp文件上傳插件有關的StackOverflow有很多問題,但我找不到與我的問題直接相關的任何內容。
我在IE8 / 9模擬器模式下使用IE10。 每次PHP $ _FILES數組為空。 我包括jquery.iframe-transport.js
,它加載很好。 沒有JavaScript錯誤。 $ _FILES數組只是空的。
我已經嘗試評論出dataType: 'json',
這是在另一個半相關問題中推薦的行,但這沒有幫助。
不知道該怎么做,找不到與此相關的任何內容。 任何幫助表示贊賞。
這是JavaScript:
$('#photo-file').fileupload(
{
url: 'photos/upload',
dataType: 'json',
autoUpload: true,
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
maxFileSize: 8000000 // 8 MB
}
)
.on(
'fileuploadadd',
function (e, data)
{
console.log('fileuploadadd');
if (total_photos_queue < available_photos)
total_photos_queue++;
else
return false;
}
)
.on(
'fileuploadsubmit',
function (e, data)
{
console.log('fileuploadsubmit');
progress_bar.width('0%');
progress_bar.fadeIn();
}
)
.on(
'fileuploadprogressall',
function (e, data)
{
console.log('fileuploadprogressall');
var progress = parseInt(data.loaded / data.total * 100, 10);
progress_bar.css('width', progress + '%');
}
)
.on(
'fileuploaddone',
function (e, data) {
console.log('fileuploaddone');
$.each(
data.result.files,
function (index, file)
{
if (file.filename)
photo_uploaded(file.id, file.filename, file.subdir);
else if (file.error)
console.log('error: ' + file.error);
}
);
}
)
.on(
'fileuploadstop',
function (e) {
console.log('fileuploadstop');
progress_bar.fadeOut();
}
)
.prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
PHP很簡單(用於調試):
var_dump($_FILES); die();
我想出來了,所以對於有類似問題的人來說,我是如何解決它的。
在我的.on('fileuploadsubmit', function(e, data){ .. })
事件中,我將<input type="file">
為禁用,以防止用戶在上傳時提交文件(我刪除了來自原始帖子中的示例JavaScript代碼段,因為我認為這不重要)。 IE8和IE9不喜歡這個。 將輸入禁用代碼放在setTimeout()
,延遲為100毫秒,解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.