Heim  >  Artikel  >  Web-Frontend  >  Wie lade ich Dateien mit window.fetch() herunter?

Wie lade ich Dateien mit window.fetch() herunter?

Linda Hamilton
Linda HamiltonOriginal
2024-10-23 07:29:01503Durchsuche

How to Download Files Using window.fetch()?

Dateien mit window.fetch() herunterladen

Wenn Sie Dateien mit der window.fetch()-API herunterladen möchten, müssen Sie ein then( verketten. )-Block für den fetch()-Aufruf, um die Antwort zu verarbeiten. So können Sie es machen:

<code class="javascript">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 => {
    // Handle the response here
  });
}</code>

Im then()-Block können Sie normalerweise die folgenden Schritte verwenden, um die Datei herunterzuladen:

  1. Konvertieren Sie die Antwort in einen Blob : res.blob().then(blob => {});
  2. Erstellen Sie eine URL für den Blob: var file = window.URL.createObjectURL(blob);
  3. Weisen Sie die zu URL zum window.location, um einen Download auszulösen: window.location.assign(file);

Hier ist eine kürzere und effizientere Alternative, die nur die Abruf-API verwendet:

<code class="javascript">const url ='http://sample.example.file.doc'
const authHeader ="Bearer 6Q************" 

const options = {
  headers: {
    Authorization: authHeader
  }
};
fetch(url, options)
  .then(res => res.blob())
  .then(blob => {
    var file = window.URL.createObjectURL(blob);
    window.location.assign(file);
  });</code>

Das obige ist der detaillierte Inhalt vonWie lade ich Dateien mit window.fetch() 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