我知道有很多类似的问题,但我还是没能解决。在下面的脚本中,只有“test=bla”被发布了,而文件则没有。我哪里做错了?
<input type="file" name="fileUpload" id="fileUpload" onchange="fileUploadChange(this);" />
function fileUploadChange(e) {
var mydata = new FormData();
mydata.append("test", "bla");
mydata.append("fff", e.files[0]);
$.ajax({
type: "POST",
url: "TestApp/Home/fileUpload",
contentType: false,
processData: false,
data: mydata,
success: function (data) {
alert("success");
}
error: function (error) {
alert("error");
}
});
}
经过进一步研究,我发现:在.NET MVC中,Controller.Request对象具有Form属性和Files属性,可以在表单中找到字符串、整数等简单的数据项,密钥、文件位于Request.Files中。