ÜberblickExportieren Sie Excel-Anforderungen. Wenn Sie auf „Vorlage herunterladen“ oder „Feedback-Ergebnisse herunterladen“ klicken, initiiert Axios eine Backend-Schnittstellenanforderung. Wenn die zurückgegebenen Daten eine Antwort erhalten, werden verstümmelte Zeichen angezeigt, wie in der Abbildung dargestellt: Im Folgenden sind einige Behandlungsmethoden aufgeführt. 1. Download über URLDas heißt, das Backend stellt die Adresse der Datei zur Verfügung und Sie können diese direkt über den Browser herunterladen Download über window.location.href = Dateipfad window.location.href = `${location.origin}/operation/ruleImport/template` Über window.open(url, '_blank') Fenster.öffnen(`${location.origin}/operation/ruleImport/template`) Der Unterschied zwischen diesen beiden Verwendungsmethoden:
2. Download über das Download-Attribut eines Tags in Kombination mit dem Blob-KonstruktorDas Download-Attribut des a-Tags ist eine neue Ergänzung des HTML5-Standards. Seine Funktion besteht darin, den Downloadvorgang des Browsers auszulösen, anstatt zur Download-URL zu navigieren. Dieses Attribut kann so eingestellt werden, dass beim Herunterladen ein neuer Dateiname verwendet wird. Das Frontend erstellt einen Hyperlink und empfängt den Dateistream vom Backend: axios.get(`/operation/ruleImport/template`, { responseType: "blob" //Der Datentyp der Serverantwort, der „Arraybuffer“, „Blob“, „Document“, „JSON“, „Text“, „Stream“ sein kann, der Standard ist „JSON“. }) .then(res => wenn(!res) zurückgeben const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }) // Erstelle ein Blob-Objekt, um die Daten zu verarbeiten und den Dateityp festzulegen, if (window.navigator.msSaveOrOpenBlob) { // Kompatibel mit IE10 navigator.msSaveBlob(blob, dieser.Dateiname) } anders { const href = URL.createObjectURL(blob) //Erstellen Sie eine neue URL, um das angegebene Blob-Objekt darzustellen const a = document.createElement('a') //Erstellen Sie das a-Tag a.style.display = 'none' a.href = href //Geben Sie den Download-Link an. a.download = this.filename //Geben Sie den Namen der Download-Datei an. a.click() //Lösen Sie den Download aus. URL.revokeObjectURL(a.href) //Geben Sie das URL-Objekt frei. } // Du brauchst hier keinen Link zu erstellen, du kannst es auch direkt durch einen Aufruf von window.open(href) herunterladen}) .catch(err => { console.log(fehler) }) Hinweis: Wenn Sie die Backend-Schnittstelle anfordern, fügen Sie dem Anforderungsheader {responseType: 'blob'} hinzu. Wenn Sie den Dateinamen für den Download festlegen, können Sie die Erweiterung direkt festlegen. Wenn nicht festgelegt, erkennt der Browser automatisch die richtige Dateierweiterung und fügt sie der Datei hinzu. 3. Über das Plugin „js-file-download“Installieren: npm installiere js-file-download --S verwenden Datei importierenDownload von 'js-file-download' axios.get(`/operation/ruleImport/template`, { responseType: 'blob' // zurückgegebener Datentyp}) .then(res => { fileDownload(res.data, dieser.Dateiname) }) Oben finden Sie Einzelheiten zum Herunterladen von Excel-Stream-Dateien und zum Festlegen des Download-Dateinamens in Vue. Weitere Informationen zum Herunterladen von Excel-Stream-Dateien und zum Festlegen des Download-Dateinamens in Vue finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Zusammenfassung zum Erlernen von Docker-Befehlen in einem Artikel
>>: Lösung für MySQL: Das Installationsprogramm wird im Community-Modus ausgeführt
Ich habe vor kurzem HTML neu gelernt, was als neue...
1. Fügen Sie den Isolationsmarker hinzu: ip netns...
Zuerst gebe ich Ihnen den Aktivierungscode für VM...
Inhaltsverzeichnis 1. Verwenden Sie SVG 2. Verwen...
Drei Möglichkeiten, CSS einzuführen 1. Inline-Sti...
Dies ist die Stilempfehlung der W3C-Organisation f...
Beim Erstellen einer Webseite müssen wir normaler...
In MySQL entsprechen Datenbanken Verzeichnissen i...
Bei Datenbanken, die schon lange laufen, besteht ...
Vorwort Das Dateisystem ist für die Organisation ...
Inhaltsverzeichnis Wirkungsdemonstration:Hauptimp...
1. Lösung für das Problem, dass die Seite leer is...
Ich hatte schon vor Neujahr an dem Projekt gearbe...
In diesem Artikel finden Sie das Tutorial zur Ins...
Inhaltsverzeichnis Vorwort 1. Trigger-Übersicht 2...