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 Obwohl der Feiertag vorbei ist, zeigt er ...
Inhaltsverzeichnis 1. Einführung in FastDFS 1. Ei...
9 großartige JavaScript-Framework-Skripte zum Zei...
<br />Beim Gestalten von Webseiten stoßen wi...
Ich habe kürzlich an einem Projekt gearbeitet und...
ModSecurity ist ein leistungsstarkes Paketfiltert...
Inhaltsverzeichnis eins. Umfeld zwei. Vorsichtsma...
lass Utils = { /** * Ist es das Todesjahr? * @ret...
Ich erstelle schon lange Websites, habe aber immer...
vue-router hat zwei Modi Hash-Modus Verlaufsmodus...
Einführung Heute werde ich die Verwendung der Sum...
<br />Die Kopfzeile bezieht sich auf die ers...
Ich bin vor ein paar Tagen mit dem Bus zur Arbeit...
Ich habe lange mit einem Problem gekämpft und das...
Die neue offizielle Website ist online, aber die ...