Загрузка файла с помощью ajax в asp.net mvc

Я знаю, что это обсуждалось много раз.

Я в принципе хочу возможность, на мой взгляд, обновить файл. Этот файл должен быть сопоставлен с моделью, которую ожидает контроллер:

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 в моей модели больше невозможно.

Я не против использовать любой работающий плагин для моего представления или технику, которая поддерживается только новыми браузерами.

Ответы на вопрос(4)

Ваш ответ на вопрос