1. Grundlegende VerwendungIch habe kürzlich die el-upload-Komponente studiert und bin dabei auf einige kleine Fehler gestoßen. Ich habe es aufgeschrieben, damit jeder es lernen kann Es ist sehr üblich, die Komponenten des Elements direkt zur Verwendung zu kopieren, aber bei der Verwendung der Upload-Komponente treten Probleme auf. Wenn Sie den Upload direkt verwenden, wird dieser Fehler auf jeden Fall auftreten Und die hochgeladenen Bilder können plötzlich verschwinden. Wenn Sie zu diesem Zeitpunkt keine Schnittstelle haben, wissen Sie nicht, warum sie entfernt wurden. Wenn also keine Schnittstelle vorhanden ist, können Sie nur raten, ob das Bild aufgrund eines domänenübergreifenden Fehlers verschwunden ist. Schließlich habe ich die Adresse des Unternehmens erhalten und die Schnittstelle angepasst. Die Antwort war richtig: action="https://jsonplaceholder.typicode.com/posts/". Dies ist der Aktionsparameter im Element. Bei Verwendung von HTML wird Ajax aufgerufen, wodurch die Same-Origin-Policy anders wird und ein Fehler auftritt. Im Allgemeinen stellt das Unternehmen einen Adresslink zum Konvertieren des Bildes in ein URL-Format bereit. Sie müssen ihn nur aufrufen und speichern. Möglicherweise benötigen Sie jedoch Token-Berechtigungen. Zu diesem Zeitpunkt gibt es etwas, das selten getan wird. Im Allgemeinen wird das Token nicht direkt über die Komponente übertragen, sodass das Token über die el-upload-Komponente übertragen werden muss. <el-hochladen Aktion="https://xxxx Adresse" :header="Header importieren" > </el-upload> importiere {getToken} von '@/utils/token' Daten() { zurückkehren { importHeaders: {token: getToken()}, }; }, 2. Bildmengenkontrolle<el-hochladen Aktion="https://security.brofirst.cn/api/common/upload" :header="Header importieren" :Grenze="Grenze" :on-exceed="MasterdateiMax" > <i class="el-icon-plus"></i> </el-upload> // Wie viele Bilder können maximal hochgeladen werden masterFileMax(files, fileList) { console.log(Dateien, Dateiliste); this.$message.warning(`Bitte laden Sie höchstens ${this.limit} Dateien hoch.`); }, 3. Bildformatbeschränkungen/mehrere Bilder können ausgewählt werden<el-hochladen akzeptieren=".JPG, .PNG, .JPEG,.jpg, .png, .jpeg" mehrere > <i class="el-icon-plus"></i> </el-upload> Beispiel <el-hochladen Aktion="https://xxxx" :header="Header importieren" Listentyp = "Bildkarte" :on-preview="handleBildkartenvorschau" :on-remove="handleEntfernen" :bei-Erfolg="handleAvatarSuccess" :Grenze="Grenze" :on-exceed="MasterdateiMax" akzeptieren=".JPG, .PNG, .JPEG,.jpg, .png, .jpeg" mehrere > <i class="el-icon-plus"></i> </el-upload> <Skript> importiere {getToken} von '@/utils/token' Standard exportieren { Name: „Feedback“, Daten() { zurückkehren { importHeaders: {token: getToken()}, Bilder:[], Grenze:9 }; }, Methoden: { //Bild löschen handleRemove(file, fileList) { const idx = this.images.findIndex(it=>it===file.response.data.fullurl) dies.images.splice(idx,1) }, handlePictureCardPreview(Datei) { this.dialogImageUrl = Datei.URL; this.dialogVisible = true; }, //Daten nach erfolgreichem Upload handleAvatarSuccess(response, file, fileList){ console.log(Antwort, Datei, Dateiliste); wenn(Antwort.code===1){ dies.bilder.push(antwort.daten.volleURL) } }, // Wie viele Bilder können maximal hochgeladen werden masterFileMax(files, fileList) { console.log(Dateien, Dateiliste); this.$message.warning(`Bitte laden Sie höchstens ${this.limit} Dateien hoch.`); } } }; </Skript> Ergänzung: Verwenden Sie die Upload-Komponente von element-ui im Vue-Projekt<el-hochladen v-sonst Klasse = "sicherstellen, dass Butt" :Aktion="Datei-Url importieren" :data="Daten hochladen" Name="Importdatei" :beiFehler="UploadFehler" :onSuccess="Uploaderfolgreich" :beforeUpload="vorAvatarUpload" > <el-button size="small" type="primary">OK</el-button> Unter ihnen ist importFileUrl die Hintergrundschnittstelle, upLoadData ist der zusätzliche Parameter, der beim Hochladen von Dateien hochgeladen werden muss, uploadError ist die Rückruffunktion, wenn der Dateiupload fehlschlägt, uploadSuccess ist die Rückruffunktion, wenn der Dateiupload erfolgreich ist, und beforeAvatarUpload ist die Funktion, die vor dem Hochladen der Datei aufgerufen wird. Hier können wir den Dateityp beurteilen. Daten () { importFileUrl: 'http:dtc.com/cpy/add', Daten hochladen: { cpyId: '123456', auftretenZeit: '2017-08' } }, Methoden: { // Rückruf nach erfolgreichem UploaduploadSuccess (response, file, fileList) { console.log('Datei hochladen', Antwort) }, // Upload-Fehler uploadError (Antwort, Datei, Dateiliste) { console.log('Upload fehlgeschlagen, bitte versuchen Sie es erneut!') }, //Bestimmen Sie die Dateigröße vor dem Hochladen beforeAvatarUpload (file) { const Erweiterung = Datei.Name.Split('.')[1] === 'xls' const extension2 = datei.name.split('.')[1] === 'xlsx' const extension3 = datei.name.split('.')[1] === 'doc' const extension4 = datei.name.split('.')[1] === 'docx' const isLt2M = Dateigröße / 1024 / 1024 < 10 wenn (!Erweiterung && !Erweiterung2 && !Erweiterung3 && !Erweiterung4) { console.log('Die hochgeladene Vorlage kann nur im xls-, xlsx-, doc- oder docx-Format vorliegen!') } wenn (!isLt2M) { console.log('Die Größe der hochgeladenen Vorlage darf 10 MB nicht überschreiten!') } Erweiterung zurückgeben || Erweiterung2 || Erweiterung3 || Erweiterung4 && isLt2M } } Dies ist das Ende dieses Artikels über die Verwendung der Element-el-upload-Komponente in Vue. Weitere relevante Inhalte zur Vue-Element-el-upload-Komponente finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So zeigen Sie den Nginx-Konfigurationsdateipfad und den Ressourcendateipfad an
>>: MySQL Master-Slave-Replikationsprinzip und zu beachtende Punkte
Inhaltsverzeichnis 1. Überprüfen Sie, ob die Dock...
Inhaltsverzeichnis Same Origin-Richtlinie für Bro...
In diesem Artikel wird die Verwendung von Docker ...
Wir schreiben bereits das Jahr 2020. Hungrige Men...
Vorwort Vor Kurzem wurde ein Teil der Geschäftstä...
Im Bereich Design gibt es jedes Jahr unterschiedl...
Ich habe kürzlich MySQL auf 5.7 aktualisiert und ...
1. Quellenliste sichern Die Standardquelle von Ub...
In diesem Tutorial wird erklärt, wie Sie die IP-A...
Inhaltsverzeichnis 1. Laden Sie JDK herunter (neh...
Detaillierte Erläuterung der Lösung für verstümme...
Die Farbdarstellung auf einer Webseite wird von ve...
Dieser Artikel beschreibt anhand eines Beispiels ...
1. CSS alphabetisch ordnen Nicht in alphabetischer...
<br /> Englisches Original: http://desktoppu...