我正在使用Blue Imp jQuery File Uploader将文件上传到MVC控制器.这适用于所有浏览器,除了Internet Explorer 8,其中data.submit()似乎没有被触发.我在“数据”中添加了一个监视器,我可以看到该文件,但是表单根本没有提交.下面是我的插件代码的精简版:
$('#fileupload').fileupload({
dataType: 'json',url: "Upload/Index",limitConcurrentUploads: 1,sequentialUploads: true,add: function (e,data) {
var filename = data.files[0].name;
data.context = $('<div class="progress-container"></div>').text(filename).appendTo ($('#filelistholder'));
// Add a progress bar for the file
$('<div class=\"margin-b-10 progress-halved\"><div class="bar"></div></div>').appendTo(data.context);
// Add a new click event for the Upload All button and enable it
$('#btnUploadAll').removeAttr('disabled').click(function () {
// Submit the file and remove the click event
data.submit();
$('#btnUploadAll').off('click');
});
// Show how many files have been selected
$('#overallProgresstext').text($('.progress-container').size() + ' file(s) selected');
},progressall: function (e,data) {
// Update the Overall progress bar
var progress = parseInt(data.loaded / data.total * 100,10);
$('#overallbar').css('width',progress + '%');
// If all files have finished uploading disable the Upload All button
if (progress == 100) {
$('#btnUploadAll').attr('disabled','disabled');
}
},progress: function (e,data) {
// Update the file's progress bar
var progress = parseInt(data.loaded / data.total * 100,10);
data.context.find('.bar').css('width',progress + '%');
},fail: function (e,data) {
$('#alertDivText').text('An unexpected error has occurred');
$('#AlertDiv').dialog({
title: "Alert",buttons: {
Close: function () {
$(this).dialog("close");
}
},modal: true,cloSEOnescape: true,});
}
});
注意:我使用的是jquery.iframe-transport.js和jquery-1.11.1
任何帮助将不胜感激,谢谢.
解决方法
带有文件上传插件的表单必须使用enctype =“multipart / form-data”.
例:
<form action="/index" enctype="multipart/form-data" method="post">
<input type="file" id="fileupload" name="fileupload" accept="image/*" multiple="multiple">
</form>