Der Standard -Parser von SpringMVC enthält nicht den Parser für das Upload für Datei. Wenn Sie SpringMVC zum Hochladen der Datei verwenden, müssen Sie die von SpringMVC bereitgestellte Multipartresolver -Deklaration verwenden. Da CommonsMultipArtresolver die Multipartresolver -Schnittstelle implementiert, können wir sie in der SpringMVC -Konfigurationsdatei wie folgt konfigurieren:
<bean id = "multipartresolver"> <Eigenschaft name = "defaultCoding" value = "utf-8" /> <Eigenschaft name = "maxUploadSize" value = "10485760000" /> <Eigenschaft name = "MaxinMemorySize" value = "40960" /> < /lean>
Stellen Sie zunächst die Pakete vor
Erstellen Sie eine neue JSP -Seite.
<%@ page Language = "java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <! docType html public "-// w3c // dtd html 4.01 transitional // en" http://www.w.w.w.w.w.w.w.w.w3. <html> <head> <meta http-äquiv = "content-type" content = "text/html; charSet = utf-8"> <title> Datei-Upload </title> </head> <body> <%-<%action = "user/fileUpload" method = "post" cost "contow =" multipart/multipart/filepart/Form-Data "-Form/Form: Form: Form:" multipart/filepart/Form-Data "-Form/Form: Form: Form: Form:" multipart/filepart/fileex/fileex/fileex/fileex/fileedata "> iga/fillowd/fileform/Form-Data"> <-Form: Form ". method = "post" engTePe = "MultiPart/Form-Data"> <Eingabe type = "Datei" name = "fileUpload"/> <Eingabe type = "surenden" value = "Upload"/> </Form> </body> </html>
Es gibt viele Formen von SpringMVC -Hochladen von Dateien, hier werde ich zwei Typen einführen.
Der erste Typ sehen Sie sich den Controller an
Paket Gd.hz.springMvc.Controller; Import Java.io.file; importieren java.io.ioException; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.requestMethod; import org.springframework.web.bind.annotation.requestParam; import org.springframework.web.multipart.commons.commonsmultipartFile; import org.springframework.web.servlet.ModelandView; @Controller ("UserController") @RequestMapPing ("Benutzer") öffentliche Klasse UserController {// Prozessdatei upload @RequestMapPing (value = "FileUpload", method = requestMethod.post) public modelAndView -Datei -Datei -Dateien (@RequestParam ("Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Datei -Dateien -Datei") { / / Datei -Datei -Datei "). System.out.println (File.getContentType ()); // Dateigröße system.out.println (file.getSize ()) abrufen; // Dateiname system.out.println (file.getOriginalFileName ()) erhalten; // prüfen, ob (! Datei.Isempty ()) {String path = "d:/" + file.getoriginalFileName (); Datei localFile = new Datei (Pfad); try {file.transferto (localFile); } catch (illegalStateException e) {e.printstacktrace (); } catch (ioException e) {e.printstacktrace (); }} return New ModelAndView ("DataSuccess"); }}Die CommonsMultipartFile -Klasse bietet uns viele Methoden zur Verarbeitung von Dateien. Zum Beispiel können Sie das Dokument von Spring das Spring -Dokument anzeigen. TransferTo gibt die Datei an einen bestimmten Ort aus.
Die zweite Methode des Datei -Uploads wird diese Methode häufiger verwendet:
Paket Gd.hz.springMvc.Controller; Import Java.io.file; importieren java.io.ioException; Import Java.util.iterator; importieren javax.servlet.http.httpServletRequest; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.requestMethod; import org.springframework.web.multipart.multipartFile; import org.springframework.web.multipart.multiparthttpServletRequest; import org.springframework.web.multipart.commons.commonsmultipartresolver; @Controller ("UserController") @RequestMapping ("Benutzer") öffentliche Klasse UserController {// Prozessdatei hochladen 2 @RequestMapPing (value = "FileUpload2", methody = requestMethod.post) public String -Datei -Datei -DateiE2 (httpServeSexace). CommonsMultipARtresolver multipartresolver = new commonsMultipARTresolver (request.getSession (). GetServletContext ()); // Überprüfen Sie, ob das Formular EncTTePe = "MultiPart/Form-Data" if (multipartresolver.ismultiPart (Anfrage)) {multiparthttpServletRequest multirequest = (multiparthttpServletRequest) hat; Iterator <string> iter = multirequest.getFileNames (); while (iter.hasnext ()) {// von commonsMultipartFile geerbt, besitzt die obige Methode. MultiPartFile -Datei = multirequest.getFile (iter.Next ()); if (Datei! String path = "D:/" + Dateiname; Datei localFile = new Datei (Pfad); file.transferto (localFile); }} return "DataSuccess"; }}MultiparthttpServletRequest bietet eine flexiblere Methode, mit der mehrere Dateien und Dateinamen erhalten werden können und die jede Datei erhalten können.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.