Schauen Sie sich einfach den Code an, die Kommentare sind alle im Inneren
Zunächst web.xml
<? xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <description>Configure the front-end controller of SpringMVC</description> <servlet-name>upload</servlet-name> <Servlet-Class> org.springframework.web.servlet.DispatcherServlet </Servlet-Class> <init-param> <param-name> contextconfigLocation </param-name> <param-value> classPath: applicationContext.xml </param-value> </init-param> </load-on-startup> 1 </-Value> </init-param> <load-on-startup> 1 </-Value> </init-param> <last-on-startup> 1 </-Value> </init-param> <last-on-startup> 1 </-Value> </init-param> <last-on-startup> 1 </startuad-Value> </init-param> <last-in-startups <Servlet-Mapping> <Servlet-Name> Upload </Servlet-Name> <URL-Muster>/</url-pufter> </servlet-mapping> <filter> <beschreibung> Kräfte Probleme in Parameter Lieferung </Beschreibung> <filter-name> CharakterCodingUtf8 </Filter-Name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingUTF8</filter-name> <URL-Muster>/*</url-pattern> </filter-mapping> </web-App>
Unten befindet sich unter //src//applicationcontext.xml
<? xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation http://www.springframework.org/schema/beans/spring-beans-3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/sping-mvc- http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springFramework.org/schema/Context/spring-context-3.2.xsd. Basis-Package)-> <!-Hier können Sie auf meinen Artikel http://blog.csdn.net/jadyer/article/details/6038604-CONTEXT: Komponenten-scan Base-Package = "Com.jadyer"/> <! ExceptionResolver --> <mvc:annotation-driven/> <!-- Since SpringMVC is set in web.xml to intercept all requests, it will not be read when reading static resource files --> <!-- Through this configuration, you can specify all resources that request or reference "/js/**" and will be found from "/js/" --> <mvc:resources mapping="/js/**" location = "/js/"/> <mvc: ressourcen maping = "/upload/**" location = "/upload/"/> <!-Beim Hochladen von Dateien von SpringMVC müssen Sie den Multipartresolver-Prozessor konfigurieren-usw.-Note. Die Eigenschaft von MaxUploadsize ist nicht für eine einzige Datei, sondern für die Summe der Kapazität aller Dateien-> <Eigenschaft name = "maxUploadsize" value = "800000"/> </bean> <!-Wenn SpringMVC die Upload-Dateigrenze überschreitet, wird die OUTSIZEEXSEX-Ausnahme ausgeladen. SpringMVC Bei Überprüfung hochgeladener Dateiinformationen wurde die Controller-Methode zu diesem Zeitpunkt nicht eingegeben-> <bean id = "exceptionResolver"> <Eigenschaft name = "Ausnahmemappings"> <props> <!!-Bei der Begegnung mit maxUploadsizeexexceedException-Ausnahmen, die automatisch zu /webinf/jspunor_fileUlace.jspilewilewileUlaLa-> </webinf/jsp/jspunor_fileUlace.jspileUlad.jspileUlad.jspilewileUlad.jspi-1jsp/jsp/jsp/jspil_fileUlapa.-> < KEY = "org.springFramework.web.multipart.MaxUploadSizeExceedException"> error_fileUpload </prop> </props> </property> </bean> <bean> <Eigenschaft name = "prefix" value = "/web-inf/jsp/"/> <proMperty = ".
Das Folgende ist die Eingabeaufforderungsseite beim Hochladen des Dateiinhalts ist zu groß //web-inf//jsp//error_fileupload.jsp
<%@ page Language = "java" pageCoding = "utf-8"%>
<h1> Die Datei ist zu groß. Bitte wählen Sie </h1> erneut aus
Unten finden Sie die Upload -Seite zum Auswählen von Dateien index.jsp
<%@ page Language = "java" pageCoding = "utf-8"%> <!-Dies kann nicht als <script type = "text/javascript" src = ".." // js/jquery-1.10.2.Min.js "> </script> <script type =" text/javascript "nicht abkürzt werden. src="<%=request.getContextPath()%>/js/ajaxfileupload.js"></script><script type="text/javascript" src="<%=request.getContextPath()%>/js/ajaxfileupload.js"></script><script type="text/javascript">function ajaxFileUpload(){ // Ein Bild wird beim Hochladen einer Datei angezeigt, und das Datei -Upload wird abgeschlossen, um das Bild auszublenden // $ ("#laden"). Parameter können übergeben werden und wurde persönlich getestet) url: '$ {pageContext.request.contextPath}/test/fileUpload? Uname = xuanyu', SecureUri: Falsch, // Ob sicheres Commit aktiviert, der Standard -Datei -Datei: 'Mybogimage -zurückgegeben. oder XML usw. Erfolg: Funktion (Daten, Status) {// Die Verarbeitungsfunktion data = data.replace ("<pre>", ''); // ajaxFileUpload fügt dem Textinhalt, auf den der Server reagiert, das Suffix von <pre> text </pre> hinzu. Data = Data.Replace ("</pre>", ''); Data = Data.Replace ("<pre>", ''); Data = Data.Replace ("</pre>", ''); Data = Data.Replace ("</pre>", ''); // In diesem Beispiel kehrt der Server nach Abschluss der Upload -Datei in den Vordergrund zurück [0`Filepath] if (data.substring (0, 1) == 0) {// 0 bedeutet erfolgreich hochladen (Superhes die Dateipfad nach dem Upload), 1 Misserfolg (Superhes Die Fehlerbeschreibung). $ ('#result'). html ("Bild hochladen erfolgreich <br/>"); } else {$ ('#result'). html ('Bild -Upload fehlgeschlagen, bitte versuchen Sie es erneut!'); }}, Fehler: Funktion (Daten, Status, e) {// Die Verarbeitungsfunktion $ ('#result'). html ('Bild -Upload fehlgeschlagen, bitte versuchen Sie es erneut !!'); }});} </script> <div id = "result"> </div> <img id = "uploadImage" src = "http://www.firefox.com.cn/favicon.ico"> <Eingabe type = "Datei" id = "myBlogimage" name "my MyFiles"/> <input type "button". Onclick = "ajaxFileUpload ()"/> <!-Einführung in die offizielle Website von AjaxFileUpload: http://phpletter.com/our-projects/ajaxFileUpload/Introduction: Jquery Plug-in AjaxFileUpload kann das Updieren von Dateien mit dem Aufladen von Akten-freiem Updieren erreichen. Es hat viele Benutzer. Es lohnt sich sehr, empfohlen zu werden: Die Reihenfolge der Einführung von JS (es hängt von JQuery ab) und es gibt keine Formulare auf der Seite (sie löst nur die AjaxFileUpload () -Methode aus, wenn der Button geklickt wird) Häufige Fehler und Lösungen sind wie folgt 1) syntaxError: fehlt; Vor Anweisung -Überprüfen Sie, ob auf den URL -Pfad zugegriffen werden kann $ fehler, der viel bequemer ist als die oben genannten ungültigen Fehleraufforderungen -> Schließlich fileUploadController.java, der das Datei -Upload übernimmt
Paket com.jadyer.controller; import java.io.file; import Java.io.ioException; import Java.io.printwriter; import Javax.servlet.http.httpServletrequest; importieren Javax.Servlet.http.httpletilePletResponte; org. 1) Da SpringMVC die Implementierung von Commons-fileUpload verwendet, muss es zuerst seine Komponenten in das Projekt einführen * 2) den Multipartresolver-Prozessor in der SpringMVC-Konfigurationsdatei konfigurieren (die Attributbeschränkungen für hochgeladene Dateien können hier hinzugefügt werden. EncTTYPE = "MultiPart/Form-Data" und <Eingabe type = "Datei" name = "****"/>)*PS: Da AjaxFileUpload.js hier verwendet wird, um aktualisiertes Upload zu erreichen, wird das Formular in diesem Beispiel nicht verwendet* --------------------------------------------------------------------------------------------------------------------------------------------------------- Spring-Context-3.2.4.Release.jar * Spring-Core-3.2.2.Release.jar * Spring-expression-22.4.Release.jar * Spring-Jdbc-3.2.4.Release.jar * Spring-OXM-22.2.Release.jar * Spring-TX-3.2.2.REASE.JAR * FRINDE-WEB-3.2.2.2.REASE.JARS.JAR * FRINDE-WEB-3.2.2.2.2.jar * Spring-Web-3.2.4.Release.jar * Spring-Web-3.2.4.Release.jar * Spring-Webmvc-3.2.4.Release.jar * * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ After uploading the file, return to the foreground [0`filepath], 0 means uploading successfully (sequent to the uploaded file path), 1 means failure (sequent to the failure description) */ @RequestMapping(value="/fileUpload") public String addUser(@RequestParam("uname") String uname, @RequestParam MultipartFile[] myfiles, HttpServletRequest -Anforderung, HttpServletResponse -Antwort) löst IOException aus (// Sie können andere Parameter empfangen, während Sie das Dateisystem hochladen.out.println ("empfangene Benutzer [" + uname + "] Datei -Upload -Anforderung"); // Wenn Sie den Tomcat -Server verwenden, wird die Datei auf //%tomcat_home%// webapps // yourWebproject // Upload // Ordner // Die Klasse commons.io.fileUtils hochgeladen, um Datei -Upload -Vorgänge hier zu implementieren. Es wird automatisch bestimmt, ob /Upload existiert. Wenn es nicht vorhanden ist, erstellt es automatisch String realpath = request.getSession (). GetServletContext (). GetRealPath ("/upload"); // Die Datenformatantwort auf die Antwort in der Vordergrundinhalte festlegen. // Setzen Sie das Printwriter -Objekt, das auf den Vordergrundinhaltspraxis -Printwriter out = response.getWriter () reagiert. // Der ursprüngliche Name der Upload -Datei (dh der Dateiname vor dem Hochladen) Zeichenfolge OriginalFileName = null; // Wenn Sie nur eine Datei hochladen, müssen Sie die Datei nur im MultipartFile -Typ empfangen. Wenn Sie mehrere Dateien hochladen möchten, müssen Sie die @RequestParam -Annotation nicht explizit angeben. MyFiles, sonst können die MyFiles im Parameter nicht alle hochgeladenen Dateien für (MultiPartFile MyFile: MyFiles) {if (myFile.Isempty ()) {out.print ("1`Please Wählen Sie die Datei aus und hochladen") ab. out.flush (); null zurückkehren; } else {originalFileName = myFile.getOriginalFileName (); System.out.println ("Datei Original Name:" + originalFileName); System.out.println ("Dateiname:" + myFile.getName ()); System.out.println ("Dateilänge:" + myFile.getSize ()); System.out.println ("Dateityp:" + myFile.getContentType ()); System.out.println("======================================================================================================== System.out.println("================================================================================== ===========================================================ieben ===========================================================ieben ============================================================ieben {System.out.println ("Datei [" + originalfilename "] fehlgeschlagen, der Stack -Track ist wie folgt"); [D: /develop/apache-tomcat-6.0.36/webapps/ajaxFileUpload//upload/anger birds.jpg] //system.out.println(realPath + "//" + originalfilename); //System.out.println (request.getContextPath () + "/upload/" + originalFileName); // Empfehlung von [RealPath + "//" + originalFileName] wird nicht empfohlen //, weil <img src = "Datei: //// d: /aa.jpg"> von Firefox unter Windows angezeigt werden kann, und <img src = "d: /aa.jpg"> Firefox ist nicht erkannt. originalfilename); out.flush (); null zurückkehren; }}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.