Dans notre développement Web, nous devons souvent télécharger des fichiers de la machine vers le serveur Web.
Par exemple: un système BBS, lorsque les utilisateurs utilisent ce système, ils peuvent télécharger certaines images et documents de la machine sur le serveur. Ensuite, d'autres utilisateurs peuvent télécharger ces fichiers. De cette façon, nous pouvons programmer le téléchargement de fichiers par nous-mêmes, mais une meilleure façon consiste à utiliser certains composants existants pour nous aider à réaliser cette fonction de téléchargement.
Composants de téléchargement communs:
Commons Fileupload par Apache
Uploadbean de Javazoom
jspsmartupload
Adresse de téléchargement de fichiers:
http://commons.apache.org/fileupload/
Télécharger: Commons-fileupload-1.2.2-Bin.zip Get: Commons-fileupload-1.2.2.jar
http://commons.apache.org/io/
Télécharger: Commons-io-1.4-Bin.zip Get: Commons-io-1.4.jar
upload.jsp
code;
<% @ page Language = "Java" ContentType = "Text / Html; charSet = UTF-8"%> <html> <A-Head> <Title> Utilisation de Commons Téléchargez pour télécharger le fichier </tapie> </-head> <style> * {Font-Family: "安体"; FONT-SIZE: 14PX} </ style> <body> <p align = "Center"> Veuillez sélectionner le fichier que vous souhaitez télécharger </p> <form id = "form1" name = "Form1" Method = "Post" Action = "Servlet / Fileservlet" EncType = "multipart / Form-data"> <Table Align = "Centre"> <tr> <td> name = "name" type = "text" id = "name" size = "20"> </td> </ tr> <tr> <td> File de téléchargement: </td> <td> <entrée name = "file" type = "file" size = "20"> </pd> </tr> <tr> <td> </td> <td> <preny type = "soumettre" name = "soumiver"> </ td> <td> <preny type = "soumettre" type = "reset" name = "reset" value = "reset"> </td> </tr> </s table> </ form> </ body> </html>FileuploadServlet.java Code:
package com.b510.example; import java.io.file; import java.io.ioexception; import java.util. *; import javax.servlet.servletconfig; import javax.servlet.servletcontext; import javax.servlet.servlet.servletException; import javax.servlet.http.httpsservlet; import; 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.disk.diskfileItemfactory; import org.apache.commons.fileupload.servlet.servletFileupload; / ** * * @author xhw * * @date 2011-7-26 * * / public class fileuploadServlet étend httpservlet {private static final SeralSionUid = -7744625344830285257L; ServletContext privé SC; String privé SavePath; public void doGet (demande httpservletRequest, réponse httpservletResponse) lève ServletException, ioException {doPost (request, réponse); } public void init (ServletConfig config) {// un paramètre d'initialisation défini dans web.xml SavePath = config.getInitParameter ("SavePath"); sc = config.getServletContext (); } public void doPost (request httpServLetRequest, httpsservletResponse réponse) lève ServletException, ioException {request.SetcharAtterencoding ("utf-8"); DiskfileItemfactory factory = new DiskFileItemFactory (); ServletFileUpload upload = new ServletFileUpload (Factory); essayez {list items = upload.paSeRequest (request); Iterator itr = items.Itator (); while (ir.hasnext ()) {fileItem item = (fileItem) itr.next (); if (item.isformfield ()) {System.out.println ("Nom du paramètre de formulaire:" + item.getFieldName () + ", valeur de paramètre de formulaire:" + item.getString ("utf-8")); } else {if (item.getName ()! = null &&! item.getName (). equals ("")) {System.out.println ("Télécharger la taille du fichier:" + item.getSize ()); System.out.println ("Télécharger le type de fichier:" + item.getContentType ()); // item.getName () Renvoie le nom du chemin complet du fichier téléchargé sur le client System.out.println ("Télécharger le nom du fichier:" + item.getName ()); Fichier tempfile = nouveau fichier (item.getName ()); // Télécharger le fichier SAVE File File File = new File (sc.getRealPath ("/") + SavePath, tempFile.getName ()); item.write (fichier); request.setAttribute ("upload.message", "Le téléchargement de fichiers a réussi!"); } else {request.setAttribute ("upload.Message", "No Téléchargez le fichier sélectionné!"); }}}}} catch (fileUpLaDexception e) {e.printStackTrace (); } catch (exception e) {e.printStackTrace (); request.setAttribute ("upload.message", "téléchargement de fichier échoué!"); } request.getRequestDispatcher ("/ uploadResult.jsp"). Forward (demande, réponse); }}Téléchargement de code: jesp:
<% @ Page Language = "Java" Import = "Java.util. *" Pageencoding = "UTF-8"%> <! Doctype Html public "- // w3c // dtd html 4.01 transitional // en"> <html> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "expires" contenu = "0"> <meta http-equiv = "keywords" contenu = "keyword1, keyword2, keyword3"> <meta http-equiv = "description" contenu = "this is my page"> <! type = "text / css" href = "styles.css"> -> </ head> <body> $ {requestCcope ['upload.message']} <a href = "/ upload / uploadfile.jsp"> Fichier de téléchargement </a> </ body> </ html>web.xml
Code:
<? xml version = "1.0" encoding = "utf-8"?> <web-app version = "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema instance" XSI: ScheMalation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <frlet> Component </Scription> <splay-name> Ceci est le nom d'affichage de mon composant J2EE </ Display-Name> <Serplet-Name> FileUploadServlet </Servlet-Name> <Servlet-Class> com.b510.example.fileuploadServlet </ Servlet-Class> <! --Set Paramètres d'initialisation -> <Init-Param> <Am param-name> SavePath </ Param-Name> <Amam-Value> uploads </ Param-Value> </Init-Param> </ Servlet> <Servlet-Mapping> <Servlet-Name> FileuploadServlet </ Servlet-Name> <Url-Pattern> / Servlett <Deendoal-File-list> <leen welcome-file> index.jsp </ bienvenue-file> <lemeen welcome-file> uploadfile.jsp </ bienvenue-file> </ welcome-file-list> </ Web-app>
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.