ÜberblickDie spezifischen Nachfrageszenarien sind wie folgt: Nach der Auswahl der Excel-Datei müssen Sie die importierte Excel-Datei manuell auf den Backend-Server hochladen und nach dem erfolgreichen Import die statistischen Ergebnisse anzeigen. Auf der offiziellen Website finden Sie auch Beispiele für manuelle Uploads, bei denen die Adresse über action="url" übergeben wird. In tatsächlichen Projekten müssen die Anforderungen jedoch von Ihnen selbst konfiguriert werden. Im Folgenden wird beschrieben, wie das geht. veranschaulichen: Vom Hochladen von Dateien bis zum Anzeigen statistischer Ergebnisse bietet unser Backend zwei Schnittstellen: Rufen Sie zuerst die Schnittstelle zum Hochladen von Dateien auf und rufen Sie nach erfolgreichem Hochladen die Schnittstelle für statistische Ergebnisse basierend auf der vom Backend zurückgegebenen Markierung auf. Eigenschafteneinstellungen.vue-Dateien <el-Zeile> <div Klasse="el-form-item__content"> <el-upload ref="hochladen" akzeptieren=".xls,.xlsx" Aktion="" :auto-upload="false" :mehrere="falsch" :file-list="Dateiliste" :before-upload="vor dem Hochladen" :http-request="HttpRequest hochladen" :on-remove="Datei entfernen" :on-change="Dateiänderung"> <el-button size="small" type="primary">Datei auswählen</el-button> <div slot="tip" class="el-upload__tip">Es kann jeweils nur eine xls/xlsx-Datei hochgeladen werden und die Dateigröße sollte 10 MB nicht überschreiten</div> </el-upload> </div> </el-row> <el-Zeile> <el-button size="small" @click="closeDialog">Abbrechen</el-button> <el-button type="primary" size="small" @click="submitUpload">Hochladen</el-button> <el-button type="primary" size="small" @click="downloadRes">Feedback-Ergebnisse herunterladen</el-button> </el-row> In:
VerarbeitungslogikDer logische Verarbeitungscode lautet wie folgt: Methoden: { // Hook vor dem Hochladen von Dateien: Bestimmen Sie das Format und die Größe der hochgeladenen Datei und stoppen Sie den Upload, wenn false zurückgegeben wird beforeUpload(file) { //Dateityp const isType = file.type === 'application/vnd.ms-excel' const isTypeComputer = Datei.Typ === 'Anwendung/vnd.openxmlformats-officedocument.spreadsheetml.sheet' const Dateityp = istTyp || istTypComputer if(!Dateityp) { this.$message.error('Hochgeladene Dateien können nur im xls/xlsx-Format vorliegen!') } // Die Dateigrößenbeschränkung beträgt 10 MB. const fileLimit = Dateigröße / 1024 / 1024 < 10; wenn(!DateiLimit) { this.$message.error('Die hochgeladene Datei ist nicht größer als 10 MB!'); } returniere Dateityp && Dateilimit }, // Benutzerdefinierte Upload-Methode, param ist der Standardparameter, Sie können die Dateiinformationen abrufen, die spezifischen Informationen lauten wie folgt: uploadHttpRequest(param) { const formData = new FormData() //FormData-Objekt, das Hinzufügen von Parametern kann nur über append('key', value) erfolgen formData.append('file', param.file) //Dateiobjekt hinzufügen formData.append('uploadType', this.rulesType) const url = `${this.myBaseURL}/operation/ruleImport/importData` //Upload-Adresse axios.post(url, formData) .dann( res => { const { Daten: { Code, Markierung } } = res wenn(code === 0) { param.onSuccess() // Erfolgreich hochgeladene Dateien werden mit einem grünen Häkchen markiert this.uploadMark = mark } return this.countData(this.uploadMark) //Rufen Sie die Schnittstelle für Statistikergebnisse entsprechend dem Markierungswert der Antwort auf und geben Sie ein Versprechen für den Kettenaufruf zurück}) .then( res => { //Kettenaufruf, Antwort auf statistische Ergebnisse const { data: { code, data } } = res wenn(code === 0) { console.log('Statistische Ergebnisse', Daten) } }) .catch( err => { console.log('fehlgeschlagen', Fehler) param.onError() //Dateien, deren Upload fehlgeschlagen ist, werden aus der Dateiliste gelöscht}) }, // Statistische Ergebnisse countFile(mark) { returniere neues Promise((lösen, ablehnen) => { Achsen .get(`/operation/ruleImport/countData?mark=${mark}`) .then(res => { Entschlossenheit (res) }) .catch(Fehler => { ablehnen(Fehler) }) }) }, // Zum Hochladen klicken: Manuelles Hochladen auf den Server, wodurch die HTTP-Anfrage der Komponente ausgelöst wird sendeUpload() { dies.$refs.upload.submit() }, // Die Datei ändert sich fileChange(file, fileList) { if (Dateiliste.Länge > 0) { this.fileList = [fileList[fileList.length - 1]] // Die letzte ausgewählte Datei anzeigen} }, // Entferne die ausgewählten Dateien fileRemove(file, fileList) { wenn(Dateiliste.Länge < 1) { this.uploadDisabled = true // Deaktiviere den Upload-Button, wenn keine Datei ausgewählt ist} }, //Abbrechen closeDialog() { this.$refs.upload.clearFiles() //Hochgeladenes Dateiobjekt löschen this.fileList = [] //Ausgewählte Dateiliste löschen this.$emit('close', false) } } Der Param-Parameter der HTTP-Anfrage wird wie in der Abbildung gezeigt gedruckt. Holen Sie sich das aktuelle Dateiobjekt über param.file. Oben finden Sie eine ausführliche Erklärung zum manuellen Hochladen von Excel-Dateien auf den Server mithilfe von Vue ElementUI. Weitere Informationen zum manuellen Hochladen von Excel-Dateien auf den Server mithilfe von Vue ElementUI finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
Dieser Artikel beschreibt, wie man eine MySQL Mas...
Im vorherigen Artikel wurde erwähnt, dass die in ...
Ich entwickle derzeit ein neues App-Projekt. Dies...
Join-Abfrage Eine Join-Abfrage bezieht sich auf e...
Dieser Artikel beschreibt anhand von Beispielen d...
Sie können die Trigger-Methode verwenden. In JavaS...
Heute habe ich eine virtuelle Maschine für ein Ex...
Es gibt erhebliche Unterschiede zwischen CentOS7 ...
Ich erinnere mich, dass mir bei meinem Vorstellun...
Treemaps dienen vor allem der Visualisierung baum...
Die virtuelle Maschine, die ich von einer bestimm...
1. Python wird beim Start automatisch ausgeführt ...
1. Laden Sie das Repository-Image herunter Docker...
sort Den Inhalt einer Textdatei sortieren Verwend...
Früher war es ziemlich mühsam, abgerundete Ecken ...