Heim > Artikel > Web-Frontend > So laden Sie Bilder mit Javascript herunter
JavaScript ist eine weit verbreitete Skriptsprache, mit der dynamische Effekte in Browsern und Servern erstellt werden können. Bilder sind ein häufiger Medientyp in Webanwendungen, daher ist es wichtig zu wissen, wie man Bilder herunterlädt. In diesem Artikel erfahren Sie, wie Sie Bilder mit JavaScript herunterladen.
Schritte zum Herunterladen von Bildern mit JavaScript:
Schritt 1: Bild-URL abrufen
Um ein Bild herunterzuladen, müssen Sie zunächst die URL des Bildes abrufen. Sie können JQuery oder natives JavaScript verwenden, um das src-Attribut des Bildelements abzurufen. Zum Beispiel:
let imageUrl = $('img#myImageId').attr('src');
oder
let image = document.getElementById('myImageId'); let imageUrl = image.src;
Schritt 2: HTTP-Anfrage erstellen
Verwenden Sie das XMLHttpRequest (XHR)-Objekt, um eine HTTP-Anfrage an den Server zu senden und die Antwort zu erhalten. Um ein Bild herunterzuladen, müssen Sie eine GET-Anfrage erstellen und die URL des Bildes als angeforderte URL verwenden. Hier ist ein Codebeispiel, das natives JavaScript verwendet, um ein XHR-Objekt zu erstellen:
let xhr = new XMLHttpRequest(); xhr.open('GET', imageUrl, true); xhr.responseType = 'blob';
Beachten Sie, dass das Attribut „responseType“ auf „blob“ gesetzt ist. Diese Einstellung gibt an, dass die Antwort als Blob-Objekt zurückgegeben werden soll. Ein Blob-Objekt ist ein dateiähnliches binäres großes Objekt, das zum Verarbeiten von Bildern, Audio und Video verwendet werden kann.
Schritt 3: HTTP-Anfrage senden
Um eine HTTP-Anfrage zu senden, müssen Sie die send()-Methode des XHR-Objekts aufrufen. Das Folgende ist ein Codebeispiel zum Senden einer HTTP-Anfrage mit nativem JavaScript:
xhr.onload = function() { if (xhr.readyState === 4 && xhr.status === 200) { // 图片下载成功 } }; xhr.send();
Beachten Sie, dass vor dem Aufruf der send()-Methode eine Rückruffunktion registriert wird, die nach Abschluss der Anfrage aufgerufen wird. Diese Funktion kann den Anforderungsstatuscode und die Antwortdaten überprüfen, um festzustellen, ob der Bilddownload erfolgreich war.
Schritt 4: Bild speichern
Wenn die Anfrage erfolgreich ist, müssen die Antwortdaten als Bilddatei gespeichert werden. Blob-Objekte können mithilfe eines FileReader-Objekts als DataURL-Zeichenfolgen gelesen werden.
let reader = new FileReader(); reader.onload = function() { let dataUrl = reader.result; // 获取DataURL字符串 let a = document.createElement('a'); a.href = dataUrl; a.download = 'myImage.jpg'; // 设置文件名 document.body.appendChild(a); a.click(); // 模拟点击下载链接 }; reader.readAsDataURL(xhr.response);
Der obige Code erstellt einen Download-Link, der die DataURL-Zeichenfolge als href-Attribut enthält. Wenn der Benutzer auf den Link klickt, wird eine Datei namens „myImage.jpg“ heruntergeladen.
Zu diesem Zeitpunkt sind alle Schritte zum Herunterladen von Bildern mithilfe von JavaScript abgeschlossen. Der vollständige Code lautet wie folgt:
let imageUrl = $('#myImageId').attr('src'); let xhr = new XMLHttpRequest(); xhr.open('GET', imageUrl, true); xhr.responseType = 'blob'; xhr.onload = function() { if (xhr.readyState === 4 && xhr.status === 200) { let reader = new FileReader(); reader.onload = function() { let dataUrl = reader.result; let a = document.createElement('a'); a.href = dataUrl; a.download = 'myImage.jpg'; document.body.appendChild(a); a.click(); }; reader.readAsDataURL(xhr.response); } }; xhr.send();
Zusammenfassung
In diesem Artikel werden die Schritte zur Verwendung von JavaScript zum Herunterladen von Bildern vorgestellt. Es ist zu beachten, dass Sie vor dem Senden einer HTTP-Anfrage die URL des Bildes abrufen und das Attribut „responseType“ des XHR-Objekts auf „blob“ setzen müssen. Wenn die Antwortdaten zurückgegeben werden, können Sie sie mit dem FileReader-Objekt in eine DataURL-Zeichenfolge konvertieren und als href-Attribut des Download-Links darstellen.
Das Herunterladen von Bildern ist eine häufige Funktion in Webanwendungen. Bilder können einfach per JavaScript heruntergeladen und im Browser angezeigt werden. Die in diesem Artikel beschriebenen Schritte funktionieren mit den meisten modernen Webbrowsern und wir hoffen, dass sie für Sie hilfreich sind.
Das obige ist der detaillierte Inhalt vonSo laden Sie Bilder mit Javascript herunter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!