zoukankan      html  css  js  c++  java
  • Servlet中使用response对象下载实现

    1,ResponseDownload.java Serlvet实现下载代码:

        import java.io.FileInputStream;  
        import java.io.IOException;  
        import java.io.OutputStream;  
          
        import javax.servlet.ServletException;  
        import javax.servlet.http.HttpServlet;  
        import javax.servlet.http.HttpServletRequest;  
        import javax.servlet.http.HttpServletResponse;  
          
        public class ResponseDownload extends HttpServlet {  
            public void doGet(HttpServletRequest request, HttpServletResponse response)  
                    throws ServletException, IOException {  
                //String realpath = this.getServletContext().getRealPath("/2.jpg");//获得下载图片路径  
                String realpath = this.getServletContext().getRealPath("/图片.jpg");//中文名称文件  
             String filename = realpath.substring(realpath.lastIndexOf("\\") + 1);//截取路径获得下载文件名  
            response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(filename, "UTF-8"));//中文名称文件的下载  
             //response.setHeader("content-disposition", "attachment;filename="+filename);//response 响应头响应下载请求  
             FileInputStream in =new FileInputStream(realpath); //将图片文件以流写入  
    int len=0; byte buffer[]=new byte[1024]; OutputStream out = response.getOutputStream();
    while((len=in.read(buffer))>0){ //读取文件模板代码 ,需记住    out.write(buffer, 0, len);
        }
         in.close();
    }  
    public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
            doGet(request, response);
      }
    }
  • 相关阅读:
    Array的 map() 和 reduce()
    欧几里得算法求解最大公约数
    JavaScript Function
    JavaScript Hoisting(提升)
    activemq的事务消息
    Spring整合Activemq
    10张图带你深入理解Docker容器和镜像
    Thread类的interrupt方法
    简单工厂、工厂方法、抽象工厂笔记
    设计模式之观察者模式
  • 原文地址:https://www.cnblogs.com/lichone2010/p/3127857.html
Copyright © 2011-2022 走看看