我知道这已经讨论过很多次了。
我基本上希望在我看来更新文件的可能性。该文件必须映射到控制器期望的模型:
public ActionResult Create(Company company)
{
//Do something with the received model
}
该模型:
public class Company
{
public int Id { get; set; }
public HttpPostedFileBase PictureUpload { get; set; }
...
}
这工作没有任何问题。现在我想通过 AJAX 发送我的表单数据,包括文件。因此,我认为我正在使用它:
@using (Ajax.BeginForm("Create", "Company", null, new AjaxOptions { HttpMethod = "Post", OnSuccess = "ajaxOnSuccess", OnFailure = "alert('Error message.');" }, new { @class = "ym-form", enctype = "multipart/form-data" }))
这基本上可以工作,但是文件上传不起作用(据我所知,ajax 无法访问该文件,因此无法发送)。
我想要这个问题的最佳解决方案,而无需修改我的后端(控制器/模型)。
例如。我读了这篇文章: http ://ajeeshms.in/Blog/Article/1/upload-files-using-ajax-in-asp-mvc
它提供了两种不错的可能性,但我必须修改后端,因为据我所知,在我的模型中自动映射到 HttpPostedFileBase 类型不再可能了。
我不介意为我的视图使用任何工作插件或使用仅受新浏览器支持的技术。