Les téléchargements de fichiers incluent SmartUpload et Apache Commons Fileupload. Aujourd'hui, nous présenterons l'utilisation de Commons Fileupload.
1.Commons-fileupload-1.3.1.jar
Télécharger l'adresse: http://xiazai.vevb.com/201608/yuanma/javawebfileupload(vevb.com).rar
2.Web.xml
<! - Télécharger le serveur de fichiers -> <Servlet> <Servlet-name> uploadServlet </vrlet-name> <servlet-class> com.servlet.uploadservlet </vrlet-class> <it-param> <param-name> filepath </ param-name> <! - Path de stockage de fichiers -> <Am param-Value> F: / MyEclipse / Workspaces / King / webroot / uploadFile / </Aram-Value> </Init-Param> </ Servlet> <Servlet-Mapping> <Serplet-Name> uploadServlet </vrlet-name> <URL-Pattern> / Servlet / uploadServlet </rlpattern> action = "servlet / uploadServlet" method = "post" encType = "multipart / form-data"> <div align = "Center"> <fieldset> <gend> Fichier de téléchargement </ légende> <br/> <div align = "Left"> upload file1 </ div> <div align = "Left"> <entrée = "file" nom = "file1" /> </ div> Align = "Left"> upload file2 </ div> <div align = "Left"> upload file2 </ div> <div align = "Left"> upload file1 </ div> <div align = "Left"> upload file1 </ div> <div align = "Left"> upload file Align = 'Left'> Fichier de téléchargement Description1 </ Div> <div align = 'Left'> <input type = "text" name = "Description1" /> </ div> </ div> <div> <div align = 'Left'> upload fichier Description2 </ div> <div align = 'Left'> <intrut type = "text" name = "Description" "/> </v> </v> Type = 'Soumide' value = "Télécharger le fichier" /> </div> </div> </div> </FielDset> </div> </form>
3.Servlet
package com.servlet; import java.io.file; import java.io.fileoutputStream; import java.io.ioexception; import java.io.inputstreamreader; import java.itil.outStream; import java.io.printwriter; import java.util.list; import javax.servlet.sservlexception; import; javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; org.apache.commons.fileupload.fileUpLaDexception; Import Sun.Swing.FilePane; public class uploadServlet étend httpServlet {private String filepath; / ** * Destruction du servlet. <br> * / public void destroy () {super.destroy (); // met juste la chaîne "destroy" dans log // mettez votre code ici} public void doGet (httpServLetRequest request, httpservletResponse réponse) lève ServletException, ioException {réponse.SetcharAtterencoding ("utf-8"); réponse.getwriter (). println ("Veuillez télécharger le fichier dans Post"); } public void doPost (requête HttpServletRequest, réponse httpservletResponse) lève Servlexception, ioException {file file1 = null, file2 = null; String Description1 = null, Description2 = null; Response.SetcharAtterencoding ("UTF-8"); request.SetcharAtterencoding ("UTF-8"); réponse.setContentType ("Text / HTML"); Printwriter out = réponse.getWriter (); Diskfileupload diskfileupload = new diskfileupload (); // demande de la demande essai {list <fileItem> fileList = diskfileupload.paSerequest (request); // mettez le résultat dans list out.println ("trace via tous les fichiers ... </br>"); this.log ("Trace via tous les fichiers ..."); for (fileItem FileItem: FileList) {if (fileItem.isformField ()) {// si c'est un champ de texte if ("description1" .equals (fileItem.getFieldName ())) {out.println ("Travel to Description1 ... </br>"); Description1 = new String (fileItem.getString (). GetBytes (), "UTF-8"); } if ("description2" .equals (fileItem.getFieldName ())) {out.println ("Travel to Description2 ... </br>"); Description2 = new String (fileItem.getString (). GetBytes (), "UTF-8"); }} else {// Sinon, c'est le champ de fichier if ("file1" .equals (fileItem.getFieldName ())) {file RemoteFile = new File (new String (fileItem.getName (). GetBytes (), "utf-8")); out.println ("Voyager vers File1 ... </br>"); out.println ("Emplacement du fichier client:" + RemoteFile.getAbsolutepath () + "</br>"); // Fichier côté serveur, placez-le dans le fichier de dossier uploadFile1 = new File (filepath, RemoteFile.getName ()); file1.getParentFile (). mkDirs (); // Créer un chemin de dossier file1.createenewFile (); // Créer un nouveau fichier inputStream ins = fileItem.getInputStream (); // FileItem ContentputSetStream OUS = new FileOutputStream (file1); // outpory to file Try {Byte [] tamper = new Byte [1024]; 0; // Longueur réelle du cache while ((len = ins.read (tampon))> -1) {// LOOP LIRE Dans le cache OUS.Write (Buffer, 0, Len); } out.println ("Enregistrer le fichier" + file1.getabsolutepath () + "</br>"); } Enfin {OUS.Close (); ins.close (); }} if ("file2" .equals (fileItem.getFieldName ())) {file RemoteFile = new File (new String (fileItem.getName (). GetBytes (), "utf-8")); out.println ("Voyager vers File2 ... </br>"); out.println ("Emplacement du fichier client:" + RemoteFile.getAbsolutepath () + "</br>"); // Fichier côté serveur, placez-le dans le fichier de dossier uploadFile2 = new File (filepath, RemoteFile.getName ()); file2.getParentFile (). mkDirs (); // Créer le chemin de dossier file2.createenewFile (); // Créer un nouveau fichier inputStream ins = fileItem.getInputStream (); // contenu de FileItem outSortStream OUS = new FileOutputStream (file2); // outpory to file {Byte [] tamper = new Byte [1024]; 0; // Longueur réelle du cache while ((len = ins.read (tampon))> -1) {// LOOP LIRE Dans le cache OUS.Write (Buffer, 0, Len); } out.println ("Enregistrer le fichier" + file2.getabsolutepath () + "</br>"); } Enfin {OUS.Close (); ins.close (); }}}} out.println ("L'analyse de demande est terminée"); } catch (fileUpLoAdException e) {// TODO est automatiquement généré Catch Block Out.println ("<! DocType Html public /" - // w3c // dtd html 4.01 transitional // en / ">"); out.println ("<html>"); out.println ("<adread> <itle> un servlet </Title> </A-head>"); out.println ("<porce>"); if (file1! = null) {out.println ("<div align = 'Left'> file1; </div>"); out.println ("<div align = 'Left'> <a href = '" + request.getContextPath () + file1.getName () + "' cible = _blank>" + file1.getName () + "</a>"); out.println ("</div>"); out.println ("</div>"); } if (file2! = null) {out.println ("<div align = 'Left'> file2; </div>"); out.println ("<div align = 'Left'> <a href = '" + request.getContextPath () + file2.getName () + "' cible = _blank>" + file2.getName () + "</a>"); out.println ("</div>"); out.println ("</div>"); } out.println ("<v>"); out.println ("<div align = 'Left'> Description1: </div>"); out.println ("<div align = 'Left'> Description2: </div>"); out.println ("<div align = 'Left'> Description2: </div>"); out.println ("<div align = 'Left'> Description2: </div>"); out.println ("<div align = 'Left'>"); out.println ("<div align = 'Left'>"); out.println ("<div align = 'Left'>"); out.println (Description2); out.println ("</div>"); out.println ("</div>"); out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); }} public String getServletinfo () {return "Ceci est mon servlet par défaut créé par Eclipse"; } public void init () lève ServletException {// Mettez votre code ici filepath = getServletConfig (). getInitParameter ("filepath"); }}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.