Wie bei einigen anderen Antworten können Sie auf jeden Fall window.fetch und download.js verwenden , um eine Datei herunterzuladen. Die Verwendung von window.fetch mit blob unterliegt jedoch den vom Browser auferlegten Speicherbeschränkungen, und die Kompatibilitätsbeschränkungen für download.js gelten ebenfalls .
Wenn Sie eine große Datei herunterladen müssen, möchten Sie sie nicht im Speicher der Client-Seite ablegen, um den Browser zu belasten, oder? Stattdessen möchten Sie es wahrscheinlich lieber über einen Stream herunterladen. In einem solchen Fall ist die Verwendung eines HTML-Links zum Herunterladen einer Datei eine der besten / einfachsten Möglichkeiten, insbesondere zum Herunterladen großer Dateien über einen Stream.
Erster Schritt: Erstellen und formatieren Sie ein Linkelement
Sie können den Link unsichtbar, aber dennoch umsetzbar machen.
HTML:
<a href="#" class="download-link" download>Download</a>
CSS:
.download-link {
position: absolute;
top: -9999px;
left: -9999px;
opacity: 0;
}
Schritt 2: Legen Sie den href
Link fest und lösen Sie das click
Ereignis aus
JavaScript
let url = `https://www.googleapis.com/drive/v2/files/${fileId}?alt=media`;
const downloadLink = document.querySelector('.download-link')
downloadLink.href = url + '&ts=' + new Date().getTime()
downloadLink.click()
Hinweis : Sie können das Verknüpfungselement bei Bedarf dynamisch generieren.
https://www.googleapis.com/drive/v2/files/${fileId}?alt=media