JSP descarga de archivos

<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); 
    } 

}

 

Supongo que te gusta

Origin www.cnblogs.com/ejwbytshooting/p/12590047.html
Recomendado
Clasificación