Freundliche Tipps
Im Spring Boot -Mitgliedsmanagementsystem ist es erforderlich, das Spring -Framework, das SpringMVC -Framework, das Hibernate -Framework und die Thymeleaf -Vorlage -Engine einzubeziehen. Daher können Sie dieses Wissen lernen. Natürlich ist es in Ordnung, es direkt zu verwenden, wenn Sie anfangen, aber es kann ein bisschen schwierig sein, wenn Sie einige Ausnahmen und Prinzipien einbeziehen.
1. Front-End-Teil
Im Front-End-Teil addmember.html gibt die Mitgliederinformationen über das Formularformformular ein, das die Funktion zur Bild-Upload-Funktion enthält (die Datei-Upload-Operation ist beteiligt). Der Code im Formteil ist wie folgt:
<Formular Th: action = "@{/admin/addMember}" methode = "post" engType = "MultiPart/Form-Data" id = "addMember"> <div> <div> <span> Avatar-Datei ausgewählt. </div> <div> <!-<Eingabe type = "text" placeholder = "laden Sie ein oder mehrere Dateien hoch">-> <img id = "myimg" src = "assets/iconPath/Common.jpg"/> </div> <!-Avatar-Datei Upload Preview-id) id (ID) {ID). } function changetoop () {var file = id ("file"); if (Datei.Value === '') {// Setzen Sie die Standardbild -ID ("myimg"). src = 'assets/iconPath/Common.jpg'; } else {preimg ("Datei", "myimg"); }} // Erhalten Sie die URL der Eingabe [Datei] Image Wichtige Funktion getFileurl (FileId) {var url; var file = id (DateiId); var agent = navigator.useragent; if (agent.indexof ("msie")> = 1) {url = Datei.Value; } else if (agent.indexof ("firefox")> 0) {url = window.url.createObjecturl (Datei.Files.Item (0)); } else if (agent.indexof ("chrome")> 0) {url = window.url.createObjecturl (Datei.Files.Item (0)); } return URL; } // Vorschaufunktion nach dem Lesen des Bildes preimg (DateiId, imgid) {var imgpre = id (imgid); imgpre.src = getFileurl (DateiId); } </script> </div> ......... </form> Hier gibt es einen Hinweis: Da das Upload von Dateien beinhaltet, muss enctype="multipart/form-data" zum Formular hinzugefügt werden, und das Namensattribut in der Eingabe entspricht dem eingehenden Parameternamen der Controller-Mapping-Methode im Backend.
2. Implementierung der Backend -Code
Im Backend kann das SpringMVC -Framework Dateien verarbeiten und dann können wir die Dateien durch Übergeben von Parametern empfangen.
2.1 Controller behandelt eingehende Dateien
Der Code ist wie folgt:
@Postmapping ("/addMember") public String addMember (Mitgliedsmitglied, String -GradName, MultiPartFile -Symbol, Map <String, Objekt> Modell) {// Verarbeitung hochgeladener Datei Versuchen Sie {if (icon == null) // Erstens bestimmen, ob die hochgeladene Datei null return "Fehler"; if (icon.getoriginalFileName (). Equals ("") // Wenn der ursprüngliche Name der hochgeladenen Datei eine leere Zeichenfolge ist, wird nachgewiesen, dass das Standard -Image -Mitglied.SeticonPath ("/assets/icon/Common.jpg"); // Setzen Sie als unser Standard -Image -Pathelse // Hier verarbeiten ich die hochgeladene MultipartFile, indem Sie die Datei -Upload -Toolklasse, die ich geschrieben habe, übergeben. Der Dateiname wird auf das String member.seticonPath (FileUploadutil.Upload (icon, "/assets/icon/", uuidrandomutil.get32uUid ()) festgelegt; } catch (Ausnahme e) {e.printstacktrace (); "Fehler" zurückgeben; } ..... return "addMembersuccess"; }2.2 FileUploadutil -Toolklasse speichert Dateien
Nachdem die mehrteilige Datei des Controllers übergeben wurde, muss sie weiter in Datei umgewandelt und auf der Festplatte gespeichert werden. Daher habe ich sie separat verarbeitet und die eingehende Datei des Controllers zur Verarbeitung an die Datei -Ploadutil -Toolklasse übergeben. Der spezifische Code lautet wie folgt:
public class FileUploadutil { /*** Datei hochladen* @param MultipartFile MultipartFile* @param PräfixPath PräfixPath, relativ zum Pfad im gesamten Projekt, es besteht kein Bedarf, " /" am Anfang des Pfades hinzuzufügen. IO -Ausnahmen*/public static String Upload (MultiPartFile MultiPartFile, String PrefixPath, String -Dateiname) löst Ausnahme aus {// den absoluten Pfad hochgeladen uploadpatphode = classutils.getDefaultClassloader (). GetResource ("). Datei Datei = neue Datei (UploadPath); if (! file.exists ()) if (file.mkdirs ()) system.out.println ("erfolgreich erstelltes Verzeichnis"); // Erhalten Sie den hochgeladenen Suffixname = MultiPartFile.getOriginalFileName (). Substring (MultiPartFile.getOriginalFileName (). LastIndexof (".")); // Erstellen Sie eine endgültige Datei = neue Datei (UploadPath+Dateiname+SuffixName); MultipartFile.transferto (Datei); Return PrefixPath+Dateiname+SuffixName; }} Klasser im obigen ist eine von Spring bereitgestellte Werkzeugklasse, und das Aufrufen der Methode getDefaultClassLoader().getResource("").getPath() besteht darin, den Pfad unter den aktuellen Projektklassenpfad zu erhalten.
Das obige ist Teil des Inhalts zum Upload des Datei in diesem System. Der Quellcode dieses Systems wird in GitHub hochgeladen und den Quellcode heruntergeladen.
Zusammenfassen
Das obige ist die Funktion zum Upload der Datei -Upload des vom Editor vorgelegten Spring -Boot -Mitgliedsverwaltungssystems. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!