Modifier la page upload.html du fichier de téléchargement
Remarque: Get Impossible n'est pas utilisé lors du téléchargement de la publication (Get Impossible de télécharger des fichiers)
La propriété Formulaire ENCTYPE doit être définie sur Multipart / Form-Data. (Indique que les données soumises sont un fichier binaire)
upload.html
<! Doctype html> <html> <éadf> <meta charset = "utf-8"> <tight> upload </title> </ head> <body> <form action = "uploadPhotoServlet" Method = "Post" EncType = "multipart / form-data"> Nom de personnage: <entrée) name = "filepath" /> <br> <input type = "soumi" value = "upload"> </ form> </body> </html>
Classe de téléchargement de fichiers UplowPtotoServlet - Développement de la fonction de téléchargement
Mettez les deux packages JAR Commons-io-1.4.jar et commons-fileupload-1.2.2.jar dans le répertoire Web-inf / lib.
Importer java.io.file; import java.io.fileoutputStream; import java.io.ioException; import java.io.inputstream; import java.iil.printwriter; importer java.util.iterator; import java.util.list; import javax.weBerS.Servlexect; import javax.sservlet.annotation.webswer javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; org.apache.commons.fileupload.disk.diskfileItemfactory; import org.apache.commons.fileupload.servlet.servletFileupload; / ** * Servlet Implémentation Class uploadPhotOservlet * / @ WebServlet ("/ uploadPhotoservlet") Public Class uploadPhotoservlate SerialVersionUID = 1L; / ** * @see httpservlet # httpServlet () * / public uploadPhotoServlet () {super (); // TODO Stume de constructeur généré automatique} / ** * @see httpservlet # doget (requête httpservletRequest, httpservletResponse Response) * / Protected void doget (httpServletRequest request, httpservletResponse réponse) lance la méthode de serpe Response.getWriter (). APPEND ("Servi sur:") .Apnd (request.getContextPath ()); String filename = null; DiskfileItemfactory factory = new DiskFileItemFactory (); // Entrée de fichier de disque Factory ServletFileUpload upload = new ServletFileUpload (Factory); // responsable du traitement des données de fichiers téléchargées et encapsulant chaque élément d'entrée dans le formulaire dans un objet FileItem // Définissez la taille du fichier téléchargé sur 10m Factory.SetSizethReshold (2 * 1024 * 1024); Lister les éléments = null; try {// parses parses items = upload.parsErequest (request); // Obtenez un objet de liste qui enregistre tous les contenus téléchargés} catch (FileUpLaDexception e) {// TODO Generated Catch Block E.PrintStackTrace (); } Iterator iter = itemS.Itator (); // itérate sur les données de fichiers téléchargées while (iter.hasnext ()) {fileItem item = (fileItem) iter.next (); if (! item.isformField ()) {// S'il n'est pas téléchargé // Créez le fichier avatar basé sur le fichier horodomoteur = System.currenttimemillis () + ". jpg"; // Obtenez le dossier de téléchargement via GetRealPath. Si le projet existe, il n'existera pas dans le cadre du projet actuel, créez le dossier du projet // String de dossier d'image Photofolder = request.getServletContext (). GetRealPath ("Uploaded"); Fichier f = nouveau fichier (photofolder, nom de fichier); f.getParentFile (). MKDIRS (); // Si le dossier parent n'existe pas, il sera créé automatiquement // reçoit le fichier téléchargé par le navigateur via item.getInputStream () inputStream is = item.getInputStream (); // Lisez le fichier dans // Copiez le fichier fileOutputStream fos = new FileOutputStream (f); // montre l'octet [] b = nouveau octet [2 * 1024 * 1024] sur l'interface; int len = 0; while ((len = is.read (b))! = - 1) {fos.write (b, 0, len); } fos.close (); } else {System.out.println (item.getFieldName ()); // Heroname String Value = item.getString (); Value = new String (value.getBytes ("ISO-8859-1"), "UTF-8"); System.out.println (valeur); // Mulberry}} String html = "<img width = '200' height = '150' src = 'uploaded /% s' />"; réponse.setContentType ("Text / HTML"); Printwriter pw = réponse.getWriter (); pw.format (html, nom de fichier); } / ** * @see httpServlet # doPost (httpsservletRequest request, httpservletResponse réponse) * / protected void doPost (httpservletRequest, httpservletResponse réponse) lance servletException, ioException {// too ateroated metheth buted doget (request, réponse); }}Résultats en cours:
Résumer
Ce qui précède est le code d'implémentation pour télécharger des fichiers sur le serveur et afficher les fonctions en conséquence. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!