我在我的 MVC3 应用程序中有 ajax 文件上传器,它在 Firefox 和 chrome 中运行良好,但在 IE9 和 IE8 中无法运行。当我上传文件时,它在 IE 的服务器端给了我错误的文件名。
这是我的上传代码
<script type="text/javascript">
function InitializeUploader() {
Dname = [];
var uploader = new qq.FileUploader({
multiple: true,
element: document.getElementById('file-uploader'),
action: '@Url.Action("UploadDocument","Project")',
debug: true,
params: { id: $("#Id").val() },
onSubmit: function (id, fileName) {
},
onComplete: function (id, fileName, responseJSON) {
alert(responseJSON.fileName);
$("#DocumentName").val(responseJSON.fileName);
fileSize = responseJSON.size;
Dname.push(responseJSON.fileName);
type = responseJSON.type;
}
});
}
</script>
<form method="post" enctype="multipart/form-data" action="" style="margin-left: 4px;
margin-top: 0px;" id="documentUploadForm">
<div id="file-uploader">
<input type="file" id="uplodfile" />
<input class="button" type="button" value="Upload" id="UploadDocbtn" style="float: right;
width: 100px;" /></div>
</form>
服务器端动作
[HttpPost]
public ActionResult UploadDocument(string qqfile, int id)
{
// code for saving File
}
当我在 IE 中运行它而不是在qqfile参数中给出文件名时,它会给我像System.Web.HttpPostedFileWrapper这样的文件,并且文件也没有正确保存。我没有得到这个浏览器问题或 IE 阻止某些脚本。那么如何在 IE 中使用 ajax 文件上传加载程序保存文件?