Heim  >  Artikel  >  Web-Frontend  >  So laden Sie Dateien mit window.fetch() im clientseitigen Code herunter

So laden Sie Dateien mit window.fetch() im clientseitigen Code herunter

Linda Hamilton
Linda HamiltonOriginal
2024-10-23 07:27:01615Durchsuche

How to Download Files Using window.fetch() in Client-Side Code

Herunterladen von Dateien mit window.fetch()

Im von Ihnen bereitgestellten clientseitigen Codeausschnitt können Sie den Then-Block zum Herunterladen ausfüllen eine Datei wie folgt:

function downloadFile(token, fileId) {
  let url = `https://www.googleapis.com/drive/v2/files/${fileId}?alt=media`;
  return fetch(url, {
    method: 'GET',
    headers: {
      'Authorization': token
    }
  }).then(res => res.blob()).then(blob => {
    // Create a URL for the Blob and assign it to the window location
    var file = window.URL.createObjectURL(blob);
    window.location.assign(file);
  });
}

Dieser Code bietet eine effizientere und bibliotheksfreie Lösung im Vergleich zur Verwendung externer Bibliotheken. Es nutzt die window.fetch()-API, um die Datei von der angegebenen URL abzurufen. Die Methode res.blob() wandelt die Antwort in ein Blob-Objekt um, das die Dateidaten darstellt.

Als nächstes erstellen wir mit window.URL.createObjectURL() eine URL für den Blob und weisen sie dem Fenster zu. Standorteigentum. Dadurch wird eine Download-Aktion für die Datei eingeleitet, ohne dass zusätzliche Bibliotheken oder komplexe Verarbeitung erforderlich sind.

Das obige ist der detaillierte Inhalt vonSo laden Sie Dateien mit window.fetch() im clientseitigen Code herunter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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