Heim > Web-Frontend > js-Tutorial > Wie kann ich mit AJAX, PHP und jQuery effizient mehrere Bilder hochladen?

Wie kann ich mit AJAX, PHP und jQuery effizient mehrere Bilder hochladen?

Barbara Streisand
Freigeben: 2024-11-24 18:20:14
Original
886 Leute haben es durchsucht

How can I efficiently upload multiple images using AJAX, PHP, and jQuery?

Hochladen mehrerer Bilder mit AJAX, PHP und jQuery

In dieser Diskussion wird das Problem des Hochladens mehrerer Bilder mit AJAX-Techniken angesprochen. Der Benutzer beschreibt, dass er bei der Übertragung mehrerer Dateien über AJAX auf Schwierigkeiten gestoßen sei, was zu einer unvollständigen Dateizustellung geführt habe. Dieser Artikel bietet eine umfassende Lösung, die JSON nutzt, um das Dateiobjekt effizient zu verarbeiten und einen erfolgreichen Upload zu ermöglichen.

HTML

Der folgende HTML-Code legt die Struktur der Webseite fest , einschließlich Elementen für die Drag-and-Drop-Funktionalität, die Dateieingabe und Abschnitte zur Anzeige des Upload-Fortschritts und Ergebnisse:

<div>
Nach dem Login kopieren

CSS

Styling wird angewendet, um die Benutzeroberfläche zu verbessern und visuelle Hinweise während des Datei-Upload-Prozesses bereitzustellen:

#uploads {
  display: block;
  position: relative;
}

#uploads li {
  list-style: none;
}
Nach dem Login kopieren

JavaScript

Der JavaScript-Code übernimmt den Datei-Upload-Prozess und nutzt dazu AJAX mit dem Server kommunizieren. Es nutzt JSON zum Kapseln von Dateidaten und HTML5-Techniken zur Fortschrittsverfolgung:

$(document).on("change", "input[name^='file']", function (e) {
    e.preventDefault();
    var This = this,
        display = $("#uploads");

    // process file object
    $.each(This.files, function (i, file) {
        var reader = new FileReader(),
            dfd = new $.Deferred();
        reader.onload = function (e) {
            // convert file to data URL
            dfd.resolveWith(file, [e.target.result])
        };
        reader.readAsDataURL(new Blob([file], {
            "type": file.type
        }));
        dfd.then(function (data) {
            // send file data using AJAX
            $.ajax({
                url: "/echo/json/",
                type: "POST",
                data: {
                    "file": JSON.stringify({
                        "file": data,
                        "name": file.name,
                        "size": file.size,
                        "type": file.type
                    })
                }
            })
            .then(function (data, textStatus, jqxhr) {
                console.log(data)
                display.append("<br /><li>", img, "</li><br />");
                return data
            }, function (jqxhr, textStatus, errorThrown) {
                console.log(errorThrown);
                return errorThrown
            });
        })
    });
});
Nach dem Login kopieren

PHP

Das PHP-Skript empfängt die im JSON-Format codierten Dateidaten und gibt sie zurück als JSON-String:

<?php
if (isset($_POST["file"])) {
    // process file object
    $file = json_encode($_POST["file"]);
    // return file as JSON string
    echo $file;
};
?>
Nach dem Login kopieren

Durch die Implementierung dieser Techniken können Sie mehrere Bilder effizient mit AJAX, PHP hochladen, und jQuery. Der JSON-Ansatz vereinfacht die Dateiübertragung und die Verwendung der Fortschrittsverfolgung verbessert das Benutzererlebnis, indem Echtzeit-Feedback zum Upload-Status bereitgestellt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich mit AJAX, PHP und jQuery effizient mehrere Bilder hochladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage