我有一个获取文件的表单,这一切都有效。表单后控制器会检查是否存在数据库中已存在的同名文件,如果存在,则将 HttpPostFileBase 对象作为模型传递给它的视图。
该视图包含一个模式弹出窗口,提示用户确认覆盖。回答“是”后,视图应该发布到新的控制器操作以实际上传文件并将信息存储在数据库中。
@model System.Web.HttpPostedFileBase
....
'Yes': function (modal) {
//Post to UploadFile
$.ajax({
url: '@Url.Action("UploadFile", "Media", new { area = "Manage" })',
type: 'POST',
data: { id: @locationid, file: @Model }
});
modal.closeModal();
},
当我在页面上查看生成的源时,数据变成了这样:
data: { id: 1, file: System.Web.HttpPostedFileWrapper }
UploadFile 期待我通过的内容,HttpPostedFileBase
private void UploadFile(int locationid, HttpPostedFileBase file)
在我们到达那里之前,javascript 会抛出一个错误
Uncaught ReferenceError: System is not defined
所以我加了
@using System.Web
想也许它只是不明白 System.Web.HttpPostedFileWrapper 是什么。这根本没有帮助。有人对如何更好地解决这个问题有任何建议吗?