Java HttpServletResponse(实现重定向和下载文件)
1、下载示例
package com.cc.hello; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.FileInputStream; import java.io.IOException; import java.net.URLEncoder; public class realDownLoad extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String realPath="E:\\IdeaProjects\\javaweb-01\\Servlet\\src\\main\\resources\\db.properties"; System.out.println("下载文件的路径:"+realPath); String name = realPath.substring(realPath.lastIndexOf("\\") + 1); resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(name,"UTF-8")); FileInputStream stream = new FileInputStream(realPath); int len=0; byte[]by=new byte[1024]; ServletOutputStream outputStream = resp.getOutputStream(); while ((len=stream.read(by))>0){ outputStream.write(by,0,len); } stream.close(); outputStream.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
2、也可直接在GET接口返回
@RequestMapping(value="download", methon=RequestMothod.GET) public void download(HeepServletResponse resp) throws ServletException,IOException {
    String realPath="E:\\IdeaProjects\\javaweb-01\\Servlet\\src\\main\\resources\\db.properties";
        System.out.println("下载文件的路径:"+realPath);
        String name = realPath.substring(realPath.lastIndexOf("\\") + 1);
        resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(name,"UTF-8"));
        FileInputStream stream = new FileInputStream(realPath);
        int len=0;
        byte[]by=new byte[1024];
        ServletOutputStream outputStream = resp.getOutputStream();
        while ((len=stream.read(by))>0){
            outputStream.write(by,0,len);
        }
        stream.close();
        outputStream.close();
}
    有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!
                    
                
                
            
        
浙公网安备 33010602011771号