我遇到了 Internet Explorer 的问题,它是 Internet 站点的默认安全设置。
我将 MVC3 与Fineuploader一起使用
当我尝试上传文件时,它运行 onCompleate 函数,但没有上传文件并且响应为空。
我们发现,如果将该站点添加到 Internet Explorer 中的“本地 Intranet 站点”,则一切正常。但是,如果该站点保留为应用默认设置的外部站点,则无法正常工作。
一些代码:
function createUploader() {
jQuery.ajaxSettings.traditional = true;
var uploader = new qq.FileUploaderBasic({
//element: document.getElementById('uploadButton'), //$("#file-upload"),
button: $("#file-uploader-basic").get(0),
action: APPLICATION_ROOT + '/SharedWorkflow/UploadImg',
params: {
ImageID: $('.imageShow').attr('data-ImageID'),
testorderID: $('.imageShow').attr('data-TestOrderID'),
CaseNumber: $('.imageShow').attr('data-CaseNumber'),
Caption: $('#newImgCaption').val()
},
debug: false,
onSubmit: function (id, fileName) {
if ($("#file-uploader-basic").hasClass('fired') == false) {
$('#file-uploader-basic').addClass('fired');
$.blockUI({
message: 'Uploading image...'
});
} else {
alert('You are currently uploading an image.');
return false;
}
},
onComplete: function (id, fileName, responseJSON) {
newImageName = fileName;
debugger;
$(".AddImage").attr('src', APPLICATION_ROOT + '/SharedWorkflow/GetImage?CaseNumber=' + responseJSON.Case.CaseNumber + '&r=' + Math.random());
fillImageList(responseJSON.Image);
$.growlUI('Image uploaded...', '');
$('#file-uploader-basic').removeClass('fired');
},
onError: function (id, fileName, errorReason) {
alert(errorReason);
}
});
}
最初我认为它与 Fineuploader 组件有关,但在多次尝试使用不同的控制器后,在访问 input type='file' 的更改方法时遇到了相同类型的错误
注意:我在 ASP.NET 中有一个项目可以使用 Ajaxcontroltoolkit 中的 Fileuploader 正常工作。