627 Stimmen

Senden von multipart/formdata mit jQuery.ajax

Ich habe ein Problem beim Senden einer Datei an ein serverseitiges PHP-Skript mit der ajax-Funktion von jQuery. Es ist möglich, die Datei-Liste mit $('#fileinput').attr('files') aber wie ist es möglich, diese Daten an den Server zu senden? Das resultierende Array ( $_POST ) auf dem serverseitigen php-Skript ist 0 ( NULL ), wenn Sie die Dateieingabe verwenden.

Ich weiß, dass es möglich ist (obwohl ich bis jetzt keine jQuery-Lösungen gefunden habe, nur Prototye-Code ( http://webreflection.blogspot.com/2009/03/safari-4-multiple-upload-with-progress.html )).

Dies scheint relativ neu zu sein, also bitte nicht erwähnen, dass der Datei-Upload über XHR/Ajax unmöglich ist, denn es funktioniert definitiv.

Ich brauche die Funktionalität in Safari 5, FF und Chrome wären schön, sind aber nicht unbedingt erforderlich.

Mein jetziger Code lautet:

$.ajax({
    url: 'php/upload.php',
    data: $('#file').attr('files'),
    cache: false,
    contentType: 'multipart/form-data',
    processData: false,
    type: 'POST',
    success: function(data){
        alert(data);
    }
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X