Upload de arquivo com ajax em asp.net mvc

Eu sei que isso foi discutido muitas vezes.

Eu basicamente quero a possibilidade na minha opinião para atualizar um arquivo. Este arquivo deve ser mapeado para o modelo que o controlador espera:

public ActionResult Create(Company company)
{
    //Do something with the received model
}

O modelo:

public class Company
{
    public int Id { get; set; }
    public HttpPostedFileBase PictureUpload { get; set; }
    ...
}

Isso está funcionando sem problemas. Agora gostaria de enviar meus dados de formulário, incluindo o arquivo, via AJAX. Portanto, estou usando isso na minha opinião:

@using (Ajax.BeginForm("Create", "Company", null, new AjaxOptions { HttpMethod = "Post", OnSuccess = "ajaxOnSuccess", OnFailure = "alert('Error message.');" }, new { @class = "ym-form", enctype = "multipart/form-data" }))

Isso está basicamente funcionando, mas o upload do arquivo não funciona (até onde eu li o ajax não tem acesso ao arquivo, então ele não pode ser enviado).

Gostaria de saber qual é a melhor solução para esse problema sem ter que modificar meu backend (controlador / modelo).

Por exemplo. Eu li este artigo:http://ajeeshms.in/Blog/Article/1/upload-files-using-ajax-in-asp-mvc

Ele fornece duas boas possibilidades, mas eu teria que modificar o backend porque, até onde eu vejo, o mapeamento automático para o tipo HttpPostedFileBase no meu modelo não seria mais possível.

Eu não me importo de usar qualquer plugin funcional para o meu ponto de vista ou usando uma técnica que é suportada apenas por novos navegadores.

questionAnswers(4)

yourAnswerToTheQuestion