MarkDown语法

二级标题

三级标题

四级标题

字体

Hello

hello world

hello world

hello world

引用

分割线



图片

超链接

狂神的博客

列表

  • 111

表格

张三

|姓名|性别|年龄|

代码

public class FileServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1.要获取下载文件的路径
        String realPath = "D:\\Project\\IdeaProject\\javaweb-01-servlet\\response\\src\\main\\resource\\西贝.jpg";
        System.out.println("下载文件的路径: " + realPath);
        // 2.下载的文件名是啥?
        String fileName = realPath.substring(realPath.lastIndexOf("\\") + 1);
        // 3.设置想办法让浏览器能够支持(Content -Disposition)下载我们需要的东西,中文文件名URLEncoder . encode编码,否则有可能乱码
        resp.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
        // 4.获取下载文件的输入流
        FileInputStream in = new FileInputStream(realPath);
        // 5.创建缓冲区
        int len = 0;
        byte[] buffer = new byte[1024];
        // 6.获取0utputStream对象
        ServletOutputStream out = resp.getOutputStream();
        // 7.将FileOutputStream流 写入到buffer缓冲区,使用Outputstream将缓冲区中的数据输出到客户端!
        while ((len = in.read(buffer)) > 0) {
            out.write(buffer, 0, len);
        }
        in.close();
        out.close();

    }
xml

总结

12-27 07:53