Heim > Web-Frontend > Front-End-Fragen und Antworten > So laden Sie Bilder mit Javascript herunter

So laden Sie Bilder mit Javascript herunter

WBOY
Freigeben: 2023-05-16 09:56:37
Original
3560 Leute haben es durchsucht

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');
Nach dem Login kopieren

oder

let image = document.getElementById('myImageId');
let imageUrl = image.src;
Nach dem Login kopieren

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';
Nach dem Login kopieren

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();
Nach dem Login kopieren

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);
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage