我知道这已经讨论了很多次。
我基本上要的可能性在我看来,以更新文件。 这个文件被映射到控制器期望的模型:
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没有访问该文件,因此它不能被作为远)的文件上传不起作用。
我想什么是对这个问题的最佳解决方案,而无需修改我的后端(控制器/模型)。
E.克。 我读这篇文章: http://ajeeshms.in/Blog/Article/1/upload-files-using-ajax-in-asp-mvc
它提供了两个漂亮的可能性,但我不得不因为就修改后台,我看到了自动映射到在我的模型的HttpPostedFileBase类型是不可能的了。
我不介意使用任何插件的工作对我的看法或者使用仅由新的浏览器支持的技术。