<a href="DownloadServlet?fileName=殷志源03.jpg"> télécharger des photos </a>
emballer org.student.servlet; importation java.io.File; importation java.io.FileInputStream; importation java.io.IOException; importation java.io.InputStream; importation javax.servlet.ServletException; importation javax.servlet.ServletOutputStream; importation javax.servlet.annotation.WebServlet; importation javax.servlet.http.HttpServlet; importation javax.servlet.http.HttpServletRequest; importation javax.servlet.http.HttpServletResponse; importation org.apache.commons.io.IOUtils; / ** * Servlet classe d'implémentation DownloadServlet * / @WebServlet ("/ DownloadServlet" ) publique classe DownloadServlet étend HttpServlet { privée statique finale longue serialVersionUID = 1 litre ; / ** * @see HttpServlet # HttpServlet () * / publique DownloadServlet () { super (); // TODO stub constructeur généré automatiquement } / ** * @see HttpServlet # doGet (HttpServletRequest demande, réponse HttpServletResponse) * / protégé videle doGet (HttpServletRequest demande, la réponse HttpServletResponse) jette ServletException, IOException { // 1 disposé de codage. Request.setCharacterEncoding ( "UTF- 8." ); // 2 acquiert le nom du fichier téléchargé chaîne filename = request.getParameter ( "fileName" ); // 3 fichiers de téléchargement vous devez définir l' en- tête du message, ne peut pas résoudre le téléchargement en cours nom chinois brouillées le Response.AddHeader ( « Content-type », « l'application / octet-stream »); // Type MIME: fichiers binaires (tout fichier) le Response.AddHeader ( ; "Content-Disposition", "l'attachement; filename =" + fileName) // nom abc.txt: fileName contient l'extension de fichier // chemin absolu du fichier 4 Chaîne Realpath = "D: \\ studyJspForUpload \\ newUpload" ; // 5.创建文件对象 fichier File = nouveau fichier (Realpath, fileName); si (! File.Exists ()) { response.getWriter () d'écriture (. "文件不存在" ); retour ; } IOUtils.copy ( nouveau FileInputStream (fichier), response.getOutputStream ()); } / ** * @see HttpServlet # doPost (HttpServletRequest demande, HttpServletResponse réponse) * / protégé videdoPost (HttpServletRequest demande, HttpServletResponse réponse) jette ServletException, IOException { // TODO stub de méthode généré automatiquement doGet (requête, réponse); } }