Die Bild-Upload-Vorschaufunktion wird hauptsächlich verwendet, um eine Vorschau eines Effekts anzuzeigen, bevor das Bild hochgeladen wird. Die aktuellen Mainstream-Methoden umfassen hauptsächlich js, jquery und flash, aber wir verwenden im Allgemeinen js, um die Bild-Upload-Vorschaufunktion zu implementieren an einem Beispiel.
Grundsatz:
Es ist in zwei Schritte unterteilt: Wenn die Eingabe zum Hochladen des Bildes ausgelöst und das lokale Bild ausgewählt wird, wird die URL des hochzuladenden Bildobjekts (Objekt-URL) abgerufen Attribut des vorab geschriebenen img-Tags. Zeigt das Bild.
Hier müssen wir das File-Objekt, das Blob-Objekt und die Methode window.URL.createObjectURL() in Javascript verstehen.
Dateiobjekt:
Das File-Objekt kann verwendet werden, um Informationen über eine Datei abzurufen und kann auch zum Lesen des Inhalts dieser Datei verwendet werden. Normalerweise ist das File-Objekt das FileList-Objekt, das zurückgegeben wird, nachdem der Benutzer eine Datei in einem Eingabeelement ausgewählt hat Es kann aus dem DataTransfer-Objekt stammen, das per Drag-and-Drop-Vorgang generiert wurde.
Schauen wir uns an, wie wir das FileList-Objekt erhalten:
Blob-Objekt:
Ein Blob-Objekt ist ein dateiähnliches Objekt, das schreibgeschützte Rohdaten enthält. Die Daten im Blob-Objekt müssen nicht unbedingt in der nativen Form in JavaScript vorliegen. Die Dateischnittstelle basiert auf Blob und erbt die Funktionen von Blob und erweitert die Unterstützung Eine lokale Datei auf dem Computer des Benutzers.
Die Objekt-URL, die wir erhalten möchten, wird tatsächlich vom Blob-Objekt abgerufen, da die Dateischnittstelle Blob erbt. Konvertieren wir das Blob-Objekt in eine URL:
Kompatibilität:
Die obige Methode ist auf den Chrome-Browser anwendbar.
Wenn es sich um einen IE-Browser handelt, können Sie den Eingabewert direkt anstelle von src verwenden.
Um Informationen online anzuzeigen, können Sie direkt die Methode getAsDataURL() der Datei verwenden Objekt zum Abrufen der URL Alle ähnlichen Methoden umfassen getAsText() und getAsBinary().