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
Vorwort add_header ist eine Direktive, die im Hea...
0. Als ich dieses Dokument erstellte, war es unge...
Der digitale Scrolleffekt auf großen Bildschirmen...
Mithilfe von Traceroute können wir den Pfad ermit...
Bevor wir über die CSS-Priorität sprechen, müssen...
Zugehörige Dokumente Ein Teil dieses Artikels wir...
Vorwort Während des Entwicklungsprozesses verwend...
Sie müssen CSS gleichzeitig auf Div oder Span anwe...
Vor kurzem hat das Unternehmen zufällig Live-Über...
Inhaltsverzeichnis Vorwort Schritt Vorwort Heute ...
Das Miniprogramm sammelte persönliche Benutzerinf...
Bevor wir über die CSS-Priorität sprechen, müssen...
Verwenden Sie in JavaScript die Methode removeAtt...
Vorwort Vor kurzem habe ich aus beruflichen Gründ...
Vorwort Als DBA werden Sie bei Ihrer Arbeit häufi...