1. Paquetes requeridos:
1. Commons-FileUpload-1.2.1.Jar:
Dirección de descarga
http://commons.apache.org/downloads/download_fileupload.cgi
2. Commons-io-1.4.Jar:
Dirección de descarga
http://commons.apache.org/downloads/download_io.cgi
2. Notas:
Enctype = "multipart/form-data" debe agregarse al formulario de formulario
3. Ejemplos de código
1. Código JSP:
<%@ page lenguaje = "java" contentType = "text/html; charset = utf-8" PageEncoding = "utf-8"%> <! DocType html public "-// w3c // dtd html 4.01 transición // en" "http://www.w3.org/tr/html4/loos.dttd <html> <fead> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> upload </title> </head> <body> <form action = "uploadServlet" método = "post" ciType = "multipart/form-data"> <table> <aption> <td> name </td> <td> <input type = "text" name = "name"> </td> </tr> <tr> <tr> <td> edad </td> <td> <input type = "text" name = "age"> </td> </tr> <tr> <tr> <td> foto </td> <td> <input type = "nombre" name = "imagen" </"imagen" </"</td" </td </td. <TD> </td> <td> <input type = "subt" value = "enviar"> </td> </tr> </table> </form> </body> </html>
2. Código de SubloadServlet
Servlet de paquete; import java.io.bufferedInputStream; import java.io.bufferedOutputStream; import java.io.file; import java.io.fileOutputStream; import java.io.ioException; import java.io.writer; import java.util.iterator; import java.util.list; import javax.servlet.servletException; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; importar org.apache.commons.fileUpload.fileitem; importar org.apache.commons.fileUpload.fileUploadException; importar org.apache.commons.fileUpload.fileUploadException; importar org.apache.commons.fileupload.disk.diskfileitemFactory; importar org.apache.commons.fileUpload.servlet.servletFileUpload; importar org.apache.commons.fileupload.util.streams; / ** * Cargar servlet * @author lisanlai * */ public class uploadServlet extiende httpservlet {private static final long SerialVersionUid = 1l; public uploadServlet () {super (); } protegido void doget (httpservletRequest solicitud, respuesta httpservletResponse) lanza ServletException, ioexception {this.dopost (solicitud, respuesta); } @Suppleswarnings ("sin control") protegido void dopost (httpservletRequest, respuesta httpServletResponse) arroja servletException, ioexception {respuesta.setContentType ("text/html"); // Establezca la codificación de caracteres en UTF-8, de modo que la respuesta de la pantalla de carácter chino. SetcharacterEncoding ("UTF-8"); Escritor o = respuesta.getWriter (); /** * Primero, determine si el formulario Enctype es multipart/formulario * al mismo tiempo, también determina si el método de envío del formulario es post *: ISMULTIPARTCONTENT (request) */if (servletFileUpload.IsmultipartContent (request) {request.setcharacteriCoding ("UTF-8"); // Instanciar una fábrica de archivos de disco duro para configurar el componente de carga ServletFileUpload DiskFileItemFactory Factory = new DiskFileItemFactory (); // Establecer la carpeta temporal para el almacenamiento de archivos, esta carpeta realmente debe existir archivos fileDir = new File ("../ webapps/fileupload/tmp/"); if (fileDir.isDirectory () && filedir.exists () == false) {filedir.mkdir (); } factory.setRepository (FileDir); // Establecer la fábrica de fábrica ocupada por la memoria máxima. // Crear objeto ServletFileUpload ServletFileUpload Sfu = new ServletFileUpload (fábrica); sfu.setheaderEncoding ("UTF-8"); // Establecer el valor máximo de un solo archivo byte sfu.setFileSizeMax (102400000); // La suma de todos los archivos cargados es el máximo byte sfu.setsizeMax (204800000); Lista <StilEitem> items = null; intente {elementos = sfu.parserequest (solicitud); } Catch (SizeLImITEXECEDEXCECTION e) {System.out.println ("El tamaño del archivo excede el máximo"); } catch (FileUploadException e) {E.PrintStackTrace (); } // Obtenga el iterador de elementos Iterator <FileItem> itere = elementos == NULL? NULL: items.Iterator (); // Directorio de ruta almacenado después de la imagen de carga de imágenes de archivo = nuevo archivo ("d:/upload/images/"); if (images.exists () == false) {images.mkdirs (); } // iteration items while (iter! = Null && iter.hasnext ()) {fileItem item = (fileItem) iter.next (); // Si el pasado es un campo de formulario ordinario if (item.isformfield ()) {system.out.print ("campo de formulario ordinario:"); System.out.print (new String (item.getFieldName ()) + ""); System.out.println (nueva cadena (elemento.getString ("utf-8"))); } // FIELO FILME más if (! Item.isformfield ()) {System.out.println ("Fuente de origen:" + item.getName ()); Cadena filename = item.getName (). Substring (item.getName (). LastIndexOf ("//")); BufferedInputStream in = new BufferedInputStream (item.getInputStream ()); // El archivo se almacena en el directorio D:/upload/Images, y este directorio también debe tener BuffeDoutputStream out = new BufferedOutputStream (nuevo FileOutputStream (nuevo archivo (Images.GetAbSolutePath ()+ FileName))); Streams.copy (in, out, verdadero); O.Write ("File Cargue Success"); }}}} else {System.out.println ("Forma de error de tipo enctype"); }}}}} 3. Web.xml
<? xml versión = "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"> <portsname> uploadtest </wantswet-name> <wheday-filist> <wheday-filist> <velceed-file> upload.jsp </selcientas> </bienvenido-file-list> <servlet> <solding> </scuidt> <sippsion-name> uploadServlet </spant-name> <ervlet-name> uploadServlet </servlet-name> <ervlet-class> servlet.uploadservlet </servlet-class> </servlet> <ervlet-mapping> <Servlet-name> uploadServlet </servlet-name> <url-pattern>/uploadServlet </url-Pattern> </servlet-mapping> </web-app>
Este artículo se ha compilado en "Resumen de las técnicas de operación de carga Java", y todos son bienvenidos a aprender y leer.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.