Loading

servlet下载文件

@WebServlet(urlPatterns = "/download")
public class DownloadFileServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        //设置响应头为下载类型 并设置下载的文件名
        resp.setHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode("哆啦A梦图片", "utf-8")+".jpg");
        //读取文件
        InputStream is = getServletContext().getResourceAsStream("/WEB-INF/classes/timg.jpg");
        //将文件加载到输出流
        byte[] buffer = new byte[1024];
        int len = 0;
        ServletOutputStream outputStream = resp.getOutputStream();
        while((len=is.read(buffer))!=0){
            outputStream.write(buffer,0,len);
        }
        outputStream.close();
        is.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
posted @ 2021-03-26 12:13  克豪  阅读(62)  评论(0)    收藏  举报