Vor kurzem hatte ich zufällig Kontakt mit dem Projekt zur Trennung von Front-End und Back-End von Vue+Springboot und habe die Funktion zum Hochladen von Bildern verwendet und es aufgezeichnet. Teil des Formularcodes, der im Frontend übermittelt werden soll<el-form-item label="Titelbild"> <el-upload v-model="Datenformular.Titel" Klasse = "Avatar-Uploader" :Grenze="1" Listentyp = "Bildkarte" :on-preview="handleBildkartenvorschau" mehrere :http-request="Datei hochladen" :on-remove="handleEntfernen" :on-change='ÄndernHochladen' :file-list="Bilder"> <i class="el-icon-plus"></i> </el-upload> </el-form-item> Erklärung der Elemente im el-upload:
Rückgabe und Datenzurückkehren { Bilder: [{name: 'food.jpg', url: 'upload/2022/web/20210329194832973.png'}], Bild-URL: '', fileList: [], // Datei-Upload-Daten (mehrere Dateien in einer) dialogImageUrl: '', dialogVisible: false, Optionen: [], Inhalt: '', Editoroption: {}, sichtbar: falsch, Datenform: { ID: 0, Titel: '', Inhalt: '', bz: '' }, tempKey: -666666 // Temporärer Schlüssel, der verwendet wird, um das Problem zu lösen, dass der halb ausgewählte Status des Baumelements nicht an die Backend-Schnittstelle übergeben werden kann. # Muss optimiert werden} Bilder in der Vorschau anzeigen, hochladen und löschenchangeUpload: function(file, fileList) {//Bildvorschau this.fileList = fileList; }, Datei hochladen(Datei){ }, handleRemove(Datei, Dateiliste) { }, handlePictureCardPreview(Datei) { this.dialogImageUrl = Datei.URL; this.dialogVisible = true; }, Hier verwende ich das fomrData-Objekt zum Senden, da ich nur ein einzelnes Titelbild hochladen und einige andere Formularinhalte hinzufügen muss. // Formularübermittlung dataFormSubmit () { const form = new FormData() // FormData-Objekt form.append('file', this.fileList); form.append('Titel', dieses.Datenformular.Titel); form.append('Inhalt', this.$refs.text.value); dies.$refs['dataForm'].validate((gültig) => { if (gültig) { dies.$http({ URL: diese.$http.adornUrl(`/sys/inform/${!this.dataForm.id ? 'speichern' : 'aktualisieren'}`), Methode: 'post', Daten:Formular }).dann(({data}) => { wenn (Daten && Daten.Code === 0) { diese.$nachricht({ Meldung: „Vorgang erfolgreich“, Typ: "Erfolg", Dauer: 1500, beim Schließen: () => { this.visible = falsch dies.$emit('refreshDataList') } }) } anders { dies.$message.error(data.msg) } }) } }) } Im Hintergrund durch HttpServletRequest-Anforderung - WebUtils .getNativeRequest(request, MultipartHttpServletRequest.class) um die Dateianforderung abzurufen und die Datei auf dem Server oder lokal zu analysieren /** * @Autor lyy * PC-Hintergrund-Upload-Datei speichern*/ @RequestMapping(Wert = "sys/file/save", Methode = {RequestMethod.POST, RequestMethod.GET}) @Transaktional öffentliche R speichern(HttpServletRequest-Anfrage) { String klassifizieren = request.getParameter("klassifizieren"); MultipartHttpServletRequest multipartRequest = WebUtils .getNativeRequest(Anfrage, MultipartHttpServletRequest.class); String Dateiname = ""; wenn (multipartRequest != null) { Iterator<String> Namen = multipartRequest.getFileNames(); während (namen.hasNext()) { Liste<MultipartFile> Dateien = multipartRequest.getFiles(names.next()); if (files != null && files.size() > 0) { für (MultipartFile-Datei: Dateien) { Dateiname = Datei.getOriginalFilename(); Zeichenfolge SUFFIX = FileUtil.getFileExt(Dateiname); Datei uFile = neue Datei(); uFile.setFileName(Dateiname); uFile.setClassify(klassifizieren); uFile.setCreateTime(neues Datum()); uFile.setFileType(SUFFIX); : String-UUID = FileUtil.uuid(); versuchen { uFile.setPath(uploadFile(uuid,Datei) +uuid+"."+SUFFIX); } Fang (IOException e) { e.printStackTrace(); } fileService.speichern(uFile); } } } } return R.ok(); } Statische Methode zum Hochladen von Dateien auf den lokalen /** * Datei hochladen *@author lyy * @param-Datei * @zurückkehren * @throws IOException * @throws IllegalStateException */ öffentliche statische String-Uploaddatei (String-UUID, MultipartFile-Datei) löst IllegalStateException, IOException { aus. String defaultUrl = MyFileConfig.getFilePath(); String-Verzeichnis = java.io.File.separator; Zeichenfolge realeURL = StandardURL + Verzeichnis; java.io.File realFile = neue java.io.File(realUrl); wenn (!realFile.exists() und !realFile.isDirectory()) { realFile.mkdirs(); } Zeichenfolge vollständige Datei = echte URL + UUID + "." + FileUtil.getFileExt(file.getOriginalFilename()); Datei.ÜbertragenAn(neue java.io.Datei(vollständigeDatei)); String relativePlanUrl = Verzeichnis; return relativePlanUrl.replaceAll("\\", "/"); } Dies ist das Ende dieses Artikels über das Implementierungsbeispiel für den Bildupload mit Vue+Element+Springboot. Weitere relevante Inhalte zum Hochladen von Bildern mit Vue+Element+Springboot 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:
|
<<: 6 interessante Tipps zum Einstellen von CSS-Hintergrundbildern
Nutzungsszenario: Wir verwenden Alibaba Cloud und...
Inhaltsverzeichnis Erstellen einer Tabelle Zeigen...
Alles ist eine Datei! UNIX hat es bereits gesagt....
Einführung in Nginx Nginx ist ein leistungsstarke...
Vorwort Im vorherigen Artikel „Detaillierte Erklä...
Vorwort innodb_data_file_path wird verwendet, um ...
Bei der Web-Frontend-Entwicklung ist es unvermeidl...
Als Front-End-Affe werden wir, sei es während ein...
Die Zeit der virtuellen VM Ware-Maschine CentOS s...
Inhaltsverzeichnis 1. Lösung 2. Lassen Sie den Br...
MySql Nullfeldbeurteilung und IFNULL-Fehlerverarb...
Der Anwendungsbereich von CSS ist global. Wenn da...
Wenn Sie beim Erstellen einer Webseite eine besti...
Fügen Sie der Webseite ein HTML-Steuerelement für...
Vorwort Beim Einsatz von Docker in einer Produkti...