Las cargas de archivos incluyen Smartupload y Apache Commons FileUpload. Hoy presentaremos el uso de Commons FileUpload.
1. Commons-FileUpload-1.3.1.Jar
Descargar dirección: http://xiazai.vevb.com/201608/yuanma/javawebfileupload(vevb.com).rar
2.Web.xml
< <Param-Value> f:/myeclipse/workspaces/king/webroot/uploadfile/</param-value> </init-param> </servlet> <servlet-mapping> <ervlet-name> uploadServlet </servlet-name> <url-patter-pattert/servlet/uploadServlet </url-pattern> </servlet-mapping> Action = "Servlet/uploadServlet" método = "post" enctype = "multipart/form-data"> <Div align = "Center"> <FieldSet> <Legend> Subiendo archivo </legend> <br/> <Div align = "izquierda"> Sobread File1 </div> <Div align = "Izquierda"> <Intruper tipo = "Nombre =" Archivo = "File1"/</Div Div> Div> Div> file2 </div> <div align = "izquierda"> cargar file2 </div> <div align = "izquierda"> file de carga1 </div> <div align = "izquierda"> cargar archivo1 </iv> <div align = "izquierda"> file de carga2 </div> <divs align = "izquierda"> <tipo de entrada = "archivo" file = "file2"/> </biv> <div> <div> <divil <div> Descripción1 </div> <div align = 'left'> <input type = "text" name = "description1"/> </div> </div> <div> <divsing align = 'left'> de carga del archivo Descripción2 </iv> <d diving align = 'left'> <input type = "text" name = "description2"/> </div> </div> <div> <div> align = 'izquierda'> <input type = "name =" Descripción2 "/> </div> </div> <div> <iv> align = 'Left'> <input type =" name = "Descripción2"/> </div> </div> <div> <iv> align = 'izquierda'> <input tyup Archivo "/> </div> </div> </div> </fieldset> </div> </form>
3.servlet
paquete com.servlet; import java.io.file; import java.io.fileOutputStream; import java.io.ioException; import java.io.inputstreamReader; import java.io.outputstream; import java.io.printwriter; import java.util.list; import javax.servlet.servletexception; javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; importar org.apache.commons.fileupload.diskfileUpload; importar; org.apache.commons.fileupload.fileitem; import org.apache.commons.fileUpload.fileUploadException; import sun.swing.filePane; public class uploadServlet extiende httpservlet {string private string filepath; /*** Destrucción del servlet. <br> */ public void destruye () {super.destroy (); // Simplemente pone la cadena "destruir" en log // colocar su código aquí} public void doget (httpservletRequest solicitud, respuesta httpservletreSponse) arroja servletException, ioexception {respuesta.setcharacterEncoding ("UTF-8"); Response.getWriter (). println ("por favor cargue el archivo en la publicación"); } public void dopost (httpservletRequest solicitud, respuesta httpservletResponse) lanza ServletException, ioexception {file file1 = null, file2 = null; String Descripción1 = null, description2 = null; respuesta.setcharacterEncoding ("UTF-8"); request.setcharacterEncoding ("UTF-8"); respuesta.setContentType ("Text/html"); PrintWriter out = Response.getWriter (); DiskfileUpload diskfileUpload = new DiskFileUpload (); // PARSE Solicitud Prueba {List <FileItem> fileList = DiskFileUpload.Parserequest (request); // Pon el resultado en la lista. this.log ("Trace a través de todos los fileitem ..."); for (fileItem fileItem: fileList) {if (fileitem.isformfield ()) {// Si es un campo de texto if ("description1" .equals (fileitem.getFieldName ())) {out.println ("viajar a descripción1 ... </br>"); description1 = new String (fileitem.getString (). getBytes (), "UTF-8"); } if ("Descripción2" .Equals (fileitem.getFieldName ())) {out.println ("Viaje a la descripción2 ... </br>"); description2 = new String (fileItem.getString (). GetBytes (), "UTF-8"); }} else {// de lo contrario es el campo de archivo if ("file1" .equals (fileitem.getFieldName ())) {file remoteFile = new File (new String (fileitem.getName (). getBytes (), "UTF-8")); out.println ("viajar a file1 ... </br>"); out.println ("Ubicación del archivo del cliente:"+remotos :getabsolutePath ()+"</br>"); // Archivo del lado del servidor, coloque en el archivo de carpeta SubloadFile1 = nuevo archivo (filePath, remoteFile.getName ()); file1.getParentFile (). mkdirs (); // crea la ruta de la carpeta file1.createnewFile (); // crea un nuevo archivo inputStream ins = fileItem.getInputStream (); // FileItem Content OutputStream OUS = nuevo FileOutputStream (File1); // Salida a File intit {Byte [] byte = byte byte [1024]; 0; // longitud de caché real mientras ((len = ins.read (buffer))> -1) {// bucle lee en el caché ousswrite (buffer, 0, len); } out.println ("Guardar archivo"+file1.getabsolutePath ()+"</br>"); } finalmente {oussclose (); ins.close (); }} if ("file2" .equals (fileItem.getFieldName ())) {file remoteFile = new File (new String (fileitem.getName (). getBytes (), "utf-8")); out.println ("viajar a file2 ... </br>"); out.println ("Ubicación del archivo del cliente:"+remotos :getabsolutePath ()+"</br>"); // Archivo del lado del servidor, coloque en la carpeta SubloadFile file2 = nuevo archivo (filePath, remoteFile.getName ()); file2.getParentFile (). mkdirs (); // Crear la ruta de la carpeta file2.creatEnwFile (); // Cree un nuevo archivo InputStream INS = FileItem.getInputStream (); // Contenido de FileItem OutputStream OUS = nuevo FileOutputStream (File2); // Salida a File intento {] byte [] buffer = nuevo byte [1024]; 0; // longitud de caché real mientras ((len = ins.read (buffer))> -1) {// bucle lee en el caché ousswrite (buffer, 0, len); } out.println ("Guardar archivo"+file2.getabsolutePath ()+"</br>"); } finalmente {oussclose (); ins.close (); }}}} out.println ("Se completa el análisis de solicitud"); } catch (FileUploadException e) {// TODO Generado automáticamente BLOCK OUT.println ("<! DocType html public/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<Ethead> <title> un servlet </title> </head>"); out.println ("<body>"); if (file1! = null) {out.println ("<div align = 'izquierda'> file1; </div>"); out.println ("<Div align = 'izquierda'> <a href = '"+request.getContextPath ()+file1.getName ()+"' target = _blank>"+file1.getName ()+"</a>"); out.println ("</div>"); out.println ("</div>"); } if (file2! = null) {out.println ("<div align = 'izquierda'> file2; </div>"); out.println ("<Div align = 'Left'> <a href = '"+request.getContextPath ()+file2.getName ()+"' target = _blank>"+file2.getName ()+"</a>"); out.println ("</div>"); out.println ("</div>"); } out.println ("<Viv>"); out.println ("<div align = 'izquierda'> descripción1: </div>"); out.println ("<div align = 'izquierda'> descripción2: </div>"); out.println ("<div align = 'izquierda'> descripción2: </div>"); out.println ("<div align = 'izquierda'> descripción2: </div>"); out.println ("<div align = 'izquierda'>"); out.println ("<div align = 'izquierda'>"); out.println ("<div align = 'izquierda'>"); out.println (descripción2); out.println ("</div>"); out.println ("</div>"); out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); }} cadena pública getServletinfo () {return "Este es mi servlet predeterminado creado por eclipse"; } public void init () lanza ServletException {// Pon su código aquí filePath = getServletCig (). getInitParameter ("filePath"); }}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.