Reponse下载文件

Servlet代码:

复制代码
@WebServlet("/DownServlet")
public class DownServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 图片资源路径
        String realPath = "D:\\code\\test.png";
        System.out.println(realPath);
        // 获取文件名
        String fileName = realPath.substring((realPath.lastIndexOf("\\")+1));
        System.out.println(fileName);
        // 设置编码格式
        response.setHeader("Content-Disposition","attachment;fileName = " + URLEncoder.encode(fileName,"UTF-8"));
        // 获取下载文件的输入流
        FileInputStream in = new FileInputStream(realPath);
        // 创建缓冲区
        int len = 0;
        byte[] buffer = new byte[1024];
        // 获取OutputStream对象
        ServletOutputStream out = response.getOutputStream();
        // 将FileInputStream流写入缓冲区,通过OutPutStream输出到客户端
        while((len = in.read(buffer))>0) {
            out.write(buffer,0,len);
        }
        in.close();
        out.close();
    }
复制代码

web.xml配置:

复制代码
  </servlet-mapping>
  <servlet>
      <servlet-name>DownServlet</servlet-name>
      <servlet-class>com.cxr.test.DownServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>DownServlet</servlet-name>
      <url-pattern>/TomcatTest/DownServlet</url-pattern>
  </servlet-mapping>
复制代码
posted @   Q1804179559  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示