1. Erforderliche Pakete:
1. Commons-fileUpload-1.2.1.jar:
Adresse herunterladen
http://commons.apache.org/downloads/download_FileUpload.cgi
2. Commons-i-1.4.jar:
Adresse herunterladen
http://commons.apache.org/downloads/download_io.cgi
2. Notizen:
EncType = "Multipart/Form-Data" sollte dem Formularformular hinzugefügt werden
3. Codebeispiele
1. JSP -Code:
<%@ 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-equiv="Content-Type" content="text/html; charset=utf-8"> <title>upload</title> </head> <body> <form action="uploadServlet" method="post" enctype="multipart/form-data"> <table> <caption>Upload instance</caption> <tr> <td>Name</td> <td> <input type="text" name="name"> </td> </tr> <tr> <td>Age</td> <td> <input type="text" name="age"> </td> </tr> <tr> <td>Photo</td> <td> <input type="file" name="image"> </td> </tr> <tr> <td> </td> <td> <Eingabe type = "sure" value = "sure"> </td> </tr> </table> </form> </body> </html>
2. UploadServlet -Code
Paketservlet; import Java.io.BufferedInputStream; importieren java.io.bufferedOutputStream; Import Java.io.file; importieren java.io.fileoutputStream; importieren java.io.ioException; Import Java.io.Writer; Import Java.util.iterator; importieren java.util.list; importieren javax.servlet.servletException; import Javax.servlet.http.httpServlet; importieren javax.servlet.http.httpServletRequest; importieren javax.servlet.http.httpServletResponse; import org.apache.commons.FileUpload.FileItem; import org.apache.commons.FileUpload.FileUploadexception; import org.apache.commons.FileUpload.FileUploadexception; import org.apache.commons.FileUpload.disk.diskFileTemfactory; import org.apache.commons.FileUpload.servlet.servletFileUpload; import org.apache.commons.FileUpload.util.streams; / ** * load servlet * @author lisanlai * */ public class UploadServlet erweitert HttpServlet {private statische endgültige lange Serialversionuid = 1L; public uploadServlet () {super (); } Protected void dodget (httpServletRequest -Anforderung, httpServletResponse -Antwort) löst ServletException aus, ioException {this.dopost (request, Antwort); } @Suppresswarnings ("deaktiviert") Protected void dopost (httpServletRequest -Anforderung, httpServletResponse -Antwort) löst ServletException, IOException {response.setContentType ("text/html") aus; // Setzen Sie die Zeichencodierung auf UTF-8, so dass die chinesische Zeichen Reaktion aufweist. Schriftsteller o = response.getWriter (); /** * Bestimmen Sie zunächst, ob das Formular EngeTePe gleichzeitig mehrfach/formdaten * ist. Es wird auch festgelegt, ob die Einreichungsmethode des Formulars post * Methode ist: IsmultiPartContent (Anfrage) */if (servletFileUpload.ismultipartContent) {Request. // eine Festplattendateifabrik instanziieren, um die hochladungskomponenten servletFileUpload diskfileItemfactory factory = new diskfileItemfactory () zu konfigurieren; // Setzen Sie den temporären Ordner für den Dateispeicher. Dieser Ordner muss wirklich Datei fileDir = neue Datei ("../ webapps/fileUpload/tmp/") vorhanden. if (fungeDir.isdirectory () && fungedir.exists () == false) {ffiledir.mkdir (); } factory.setRepository (fehlerhaft); // Setzen Sie den maximalen Speicher besetzt Fabrik. SetSizethreshold (1024000); // servletFileUpload -Objekt servletFileUpload sfu = new ServletFileUpload (factory); sfu.setheaDerencoding ("utf-8"); // den Maximalwert eines einzelnen Datei -Byte sfu.setFilesimemax (102400000) festlegen; // Die Summe aller hochgeladenen Dateien ist maximal Byte sfu.setsizemax (204800000); LIST <FileItem> items = null; try {items = sfu.parsequest (Anfrage); } catch (SizElimitexceedEDException e) {System.out.println ("Dateigröße überschreitet das Maximum"); } catch (FileUploadexception e) {e.printstacktrace (); } // den Iterator der Elemente Iterator <Feigers <fileItem> iter = items == null? Null: items.iterator () erhalten; // Path -Verzeichnis, das nach dem Bild hochladen Datei upload ficies = neue Datei ("d:/upload/bilder/"); if (images.exists () == false) {images.mkdirs (); } // Iteration Elements while (iter! // Wenn das bestehende Feld ein gewöhnliches Formular ist, wenn (isformfield ()) {System.out.print ("gewöhnliches Formfeld:"); System.out.print (neue String (item.getFieldName ()) + ""); System.out.println (neuer String (item.getString ("utf-8")); } // Dateifeld sonst if (! Item.isformfield ()) {System.out.println ("Quellbild:" + item.getName ()); String Dateiname = item.getName (). Substring (item.getName (). LastIndexof ("//")); BufferedInputStream in = neuer bufferedInputStream (item.getInputStream ()); // Die Datei wird im Verzeichnis d:/upload/images gespeichert, und dieses Verzeichnis muss auch buffenedOutputStream out = new bufferedOutputStream (neuer FileOutputStream (neue Datei (Images.getabsolutepath ()+ Filename))); Streams.copy (in, out, wahr); O.Write ("Datei hochladen erfolgreich"); }}}} else {system.out.println ("Formulierung des Formulars des Enge -Typs"); }}}}} A. Web.xml
<? xmlns: web = "http://java.sun.com/xml/ns/javaee" xmlns: web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>UploadTest</display-name> <welcome-file-list> <welcome-file>upload.jsp</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>UploadServlet</display-name> <servlet-name>UploadServlet</servlet-name> <servlet-class>servlet.UploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name> uploadServlet </servlet-name> <URL-Muster>/UploadServlet </url-pattern> </servlet-mapping> </web-App>
Dieser Artikel wurde in "Zusammenfassung der Java -Upload -Operationstechniken" zusammengestellt, und jeder kann gerne lernen und lesen.
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.