So laden Sie Excel-Stream-Dateien herunter und legen den Download-Dateinamen in Vue fest

So laden Sie Excel-Stream-Dateien herunter und legen den Download-Dateinamen in Vue fest

Überblick

Exportieren 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 URL

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

  • window.location: Zur aktuellen Seite springen, d. h. die aktuelle Seite verschieben; auf der Website können nur die Webseiten dieser Website geöffnet werden.
  • window.open: Öffnet den Link in einem neuen Fenster; auf der Website kann die Adresse einer anderen Website geöffnet werden.

2. Download über das Download-Attribut eines Tags in Kombination mit dem Blob-Konstruktor

Das 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:
  • Beispielcode von Vue mit dem Moment-Plugin zum Formatieren der Zeit
  • Der Grund, warum vue3 Filter entfernt
  • Eine kurze Analyse, wie Vue die Zeit dynamisch und in Echtzeit anzeigt
  • Einführung und Verwendung von Momenten in der Vue-Entwicklung
  • VUE führt große Plattenspieler-Lotterie durch
  • So verwenden Sie benutzerdefinierte Vue-Anweisungen zum Melden von Google Analytics-Ereignisstatistiken
  • Vorbereitung der Vue Element-Front-End-Anwendungsentwicklung für die Entwicklungsumgebung
  • So gehen Sie mit dem Verlust von Parametern um, wenn Sie die Seite aktualisieren und Parameter an den Vue-Router übergeben
  • So melden Sie Geschäftsdaten auf einer einzelnen Vue-Seite

<<:  Zusammenfassung zum Erlernen von Docker-Befehlen in einem Artikel

>>:  Lösung für MySQL: Das Installationsprogramm wird im Community-Modus ausgeführt

Artikel empfehlen

Vue definiert private Filter und grundlegende Nutzung

Die Methoden und Konzepte privater und globaler F...

Praktisches MySQL + PostgreSQL Batch-Insert-Update insertOrUpdate

Inhaltsverzeichnis 1. Baidu-Enzyklopädie 1. MySQL...

HTML Table Tag Tutorial (47): Verschachtelte Tabellen

<br />Der Schriftsatz auf der Seite erfolgt ...

Webdesign-Tutorial (4): Über Materialien und Ausdrücke

<br />Vorheriges Webdesign-Tutorial: Webdesi...

Verwendung der Vue3-Tabellenkomponente

Inhaltsverzeichnis 1. Ant Design Vue 1. Offiziell...

js canvas realisiert Bilder mit abgerundeten Ecken

In diesem Artikel wird der spezifische Code von J...

Mysql 5.6.37 Winx64-Installation Dual-Version MySQL-Hinweise

Wenn MySQL Version 5.0 bereits auf dem Computer v...

Detaillierte Erklärung der neuen CSS-Eigenschaft display:box

1. Anzeige:Box; Wenn Sie diese Eigenschaft für ei...

Wichtige Hinweise zu PHP-HTMLhtml-Wissenspunkten (unbedingt lesen)

1. Verwenden Sie Frameset, Frame und Iframe, um m...

Ein kurzer Vortrag über MySQL-Pivottabellen

Ich habe eine Produktteiletabelle wie diese: Teil...