Jak mogę przesyłać pliki asynchronicznie?

Chciałbym przesłać plik asynchronicznie za pomocą jQuery. To jest mój HTML:

<span>File</span>
<input type="file" id="file" name="file" size="10"/>
<input id="uploadbutton" type="button" value="Upload"/>

A tu mojaJquery kod:

$(document).ready(function () {
    $("#uploadbutton").click(function () {
        var filename = $("#file").val();

        $.ajax({
            type: "POST",
            url: "addFile.do",
            enctype: 'multipart/form-data',
            data: {
                file: filename
            },
            success: function () {
                alert("Data Uploaded: ");
            }
        });
    });
});

Zamiast przesyłać plik, otrzymuję tylko nazwę pliku. Co mogę zrobić, aby rozwiązać ten problem?

Aktualne rozwiązanie

UżywamWtyczka jQuery Form przesyłać pliki.

questionAnswers(30)

yourAnswerToTheQuestion