Upload de fichier avec l'AJAX de jQuery et de Gestionnaire (ashx) ne fonctionne pas

Je suis en train de télécharger un fichier d'image avec jQuery AJAX et un générique de gestionnaire. Mais il semble que le fichier n'est pas passé à la gestionnaire.
Après la soumission, context.Request.Files[0]; est toujours nulle :-/

Ce que je fais mal?

HTML:

<form id="form1" runat="server" method="post" enctype="multipart/form-data">

    <input name="file" id="file" type="file" />
    <input id="save" name="submit" value="Submit" type="submit" />

</form>

JS:

$().ready(function ()
{
    $('#file').change(function () 
    {
        sendFile(this.files[0]);
    });
});

function sendFile(file) 
{
    $.ajax({
        type: 'post',
        url: 'FileUpload.ashx',
        data: file,
        success: function () {
            //do something
        },
        xhrFields:
        {
            onprogress: function (progress) 
            {
                //calculate upload progress
                var percentage = Math.floor((progress.total / progress.totalSize) * 100);

                //log upload progress to console
                console.log('progress', percentage);

                if (percentage === 100) {
                    console.log('DONE!');
                }
            }
        },
        processData: false,
        contentType: 'multipart/form-data'
    });
}

ASHX:

public void ProcessRequest (HttpContext context) 
{
    HttpPostedFile file = context.Request.Files[0];

    if (file.ContentLength > 0)
    {
        //do something
    }
}
Vous avez un jquery référence quelque part dans votre code de droit?
oui, je l'ai. le gestionnaire est appelé, mais aucun fichier n'est chargé :-/

OriginalL'auteur Ricky | 2013-06-06