<a href="DownloadServlet?fileName=殷志源03.jpg"> descargar imágenes </a>
empaquetar org.student.servlet; importación java.io.File; importación java.io.FileInputStream; importación java.io.IOException; importación java.io.InputStream; importación javax.servlet.ServletException; importación javax.servlet.ServletOutputStream; importación javax.servlet.annotation.WebServlet; importación javax.servlet.http.HttpServlet; importación javax.servlet.http.HttpServletRequest; importación javax.servlet.http.HttpServletResponse; importación org.apache.commons.io.IOUtils; / ** * Clase de aplicación Servlet DownloadServlet * / @WebServlet ("/ DownloadServlet" ) pública clase DownloadServlet extiende HttpServlet { privada estática última larga serialVersionUID = 1L ; / ** * @see HttpServlet # HttpServlet () * / público DownloadServlet () { super (); // generada automáticamente TODO trozo constructor } / ** * @see HttpServlet # doGet (HttpServletRequest solicitud, HttpServletResponse respuesta) * / protegida vacíodoGet (HttpServletRequest la petición, la respuesta HttpServletResponse) lanza ServletException, IOException { // 1 dispuesto codificación. request.setCharacterEncoding ( "UTF-8." ); // 2 adquiere el nombre del archivo descargado cadena archivo = request.getParameter ( "nombre de archivo" ); // 3 archivos de descarga que necesita para establecer el encabezado del mensaje, no puede resolver la descarga actual nombre chino ilegible el Response.AddHeader ( "Content-type", "la aplicación / octet-stream"); // tipo MIME: archivos binarios (cualquier archivo) del Response.AddHeader ( ; "Content-Disposition", "el attachement; nombre de archivo =" + filename) // llamado abc.txt: nombre de archivo contiene la extensión de archivo // ruta absoluta del archivo 4 Cadena realpath = "D: \\ studyJspForUpload \\ newUpload" ; // 5.创建文件对象 del archivo = nuevo archivo (ruta real, nombre de archivo); si (! File.Exists ()) { response.getWriter () escritura (. "文件不存在" ); volver ; } IOUtils.copy ( nueva (archivo FileInputStream), response.getOutputStream ()); } / ** * @see HttpServlet # doPost (HttpServletRequest solicitud, HttpServletResponse respuesta) * / protegida vacíodoPost (HttpServletRequest solicitud, HttpServletResponse respuesta) lanza ServletException, IOException { // generada-Auto TODO stub método doGet (solicitud, respuesta); } }