1. Packages requis:
1. Commons-fileupload-1.2.1.jar:
Adresse de téléchargement
http://commons.apache.org/downloads/download_fileupload.cgi
2. Commons-io-1.4.jar:
Adresse de téléchargement
http://commons.apache.org/downloads/download_io.cgi
2. Choses à noter:
ENCTYPE = "Multipart / Form-Data" doit être ajouté au formulaire
3. Exemples de code
1. Code JSP:
<% @ Page Language = "Java" ContentType = "Text / Html; charSet = UTF-8" Pageencoding = "UTF-8"%> <! Doctype HTML PUBLIC "- // W3C // DTD HTML 4.01 Transitional // En" "http://www.w3.org/tr/html4/loose" <Html> <A-head> <meta http-equiv = "contenu-type" contenu = "text / html; charset = utf-8"> <itle> upload </ title> </ head> <body> <form action = "uploadServlet" méthode = "post" enctype = "multipart / form-data"> <table <Td> Name </td> <Td> <entrée type = "text" name = "name"> </td> </tr> <tr> <td> Âge </td> <td> <input type = "text" name = "Age"> </pd> </ tr> <tr> <td> Photo </td> <td> <puty type = "file" name = "Image"> </td> <td> <puty type = "file" nom = "Image"> </td> <td> <put-type = "Fichier" Name = "Image "> <td> </td> <td> <Type de saisie = "soumission" value = "soumi"> </td> </tr> </s table> </ form> </body> </html>
2. Code de téléchargement
servlet de forfait; Importer java.io.BufferedInputStream; Importer java.io.BufferedOutputStream; Importer java.io.file; Importer java.io.fileOutputStream; Importer java.io.ioException; Importer java.io.writer; Importer java.util.iterator; Importer java.util.list; Importer javax.servlet.servletException; import javax.servlet.http.httpservlet; Importer javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; import org.apache.commons.fileupload.fileItem; import org.apache.commons.fileupload.fileUpLadexception; import org.apache.commons.fileupload.fileUpLadexception; import org.apache.commons.fileupload.disk.diskfileItemfactory; import org.apache.commons.fileupload.servlet.servletFileUpload; import org.apache.commons.fileupload.util.streams; / ** * téléchargement servlet * @author lisanlai * * / classe publique UploadServlet étend httpServlet {private static final long SerialVersionUID = 1l; public uploadServlet () {super (); } Protected void doGet (HttpServLetRequest Request, HttpServletResponse Response) lève Servlexception, ioException {this.dopost (request, réponse); } @SuppressWarnings ("Unchecked") Protected void doPost (HttpServLetRequest Request, httpservletResponse Response) lève ServletException, ioException {réponse.SetContentType ("text / html"); // Définissez le codage des caractères sur UTF-8, de sorte que le caractère chinois affiche la réponse.SetcharAtterencoding ("UTF-8"); Écrivain o = réponse.getWriter (); / ** * Tout d'abord, déterminez si le formulaire ENCTYPE est multipart / formulaire de forme * En même temps, il détermine également si la méthode de soumission du formulaire est post * Méthode: IsmultiPartContent (request) * / if (servletFileupLoad.ismultuparntContent (request)) {request.SetcharacterEncoding ("utf-8"); // Instancier une usine de fichiers de disque dur pour configurer le composant de téléchargement ServletFileUpload DiskFileItemFactory Factory = new DiskFileItemFactory (); // Définissez le dossier temporaire pour le stockage de fichiers, ce dossier doit vraiment exister File Filedir = new File ("../ webApps / Fileupload / tmp /"); if (filedir.isdirectory () && filedir.exists () == false) {filedir.mkdir (); } factory.setRepository (filedir); // Définit la mémoire maximale occupée Factory.SetSizethReshold (1024000); // Créer un objet ServletFileUpload ServletFileUpload SFU = new ServletFileUpload (Factory); SFU.SETHEADERENCODING ("UTF-8"); // Définissez la valeur maximale d'un octet de fichier unique SFU.SetFileSizEMAX (102400000); // La somme de tous les fichiers téléchargés est un octet maximum SFU.SetSizEMax (204800000); List <FeleItem> items = null; essayez {items = sfu.parsErequest (request); } catch (sizelimiteXededEdException e) {System.out.println ("La taille du fichier dépasse le maximum"); } catch (fileUpLoadexception e) {e.printStackTrace (); } // Obtenez l'itérateur des éléments Iterator <FichierItem> iter = items == null? Null: itemS.Itorator (); // Directory de chemin stocké après image de téléchargement d'images Images = nouveau fichier ("d: / upload / images /"); if (images.exists () == false) {images.mkDirs (); } // itation items while (iter! = Null && iter.hasnext ()) {fileItem item = (fileItem) iter.next (); // Si le passage est un champ de formulaire ordinaire if (item.isformField ()) {System.out.print ("champ de formulaire ordinaire:"); System.out.print (new String (item.getFieldName ()) + ""); System.out.println (new String (item.getString ("UTF-8"))); } // champ de fichier else if (! Item.isformField ()) {System.out.println ("Image source:" + item.getName ()); String filename = item.getName (). Substring (item.getName (). LastIndexof ("//")); BufferedInputStream dans = new BufferedInputStream (item.getInputStream ()); // Le fichier est stocké dans le répertoire D: / Upload / Images, et ce répertoire doit également avoir tampondOutputStream OUT = new BufferedOutputStream (new FileOutputStream (nouveau fichier (images.getAbsolutePath () + FileName))); Streams.copy (in, out, true); O.Write ("Fichier Télécharger réussi"); }}}} else {System.out.println ("Form Entype Type Error"); }}}}} 3. web.xml
<? xml version = "1.0" Encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" 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"> <splay-same> uploadtest </splaw-name> <endemed-file> upload.jsp </venke-file> </ welcome-file-list> <serplet> <description> </ description> <splay-name> uploadServlet </ display-name> <servlet-name> uploadServlet </ servlet-name> </ servlet-class> servlet.uploadServlet </vlass-class> </vrlet> <servlet-mapping> <Vertlet-Name> uploadServlet </ serplet-name> <url-potern> / uploadServlet </url-stern> </vretlet-mapping> </ web -pp>
Cet article a été compilé dans "Résumé des techniques d'opération de téléchargement Java", et tout le monde est le bienvenu pour apprendre et lire.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.