package com.wyj.one;
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;
//下载文件
public class downDemo01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 1.要获取下载文件的路径
String filepath = "C:\\Users\\86155\\Desktop\\gitee使用\\javanew\\javaweb\\javaweb-02-servlet\\response\\src\\main\\resources\\1.jpg";
// 2.下载的文件名是啥?
// lastIndex0f 该方法将从后向前检索字符串
String fileName = filepath.substring(filepath.lastIndexOf("\\" + 1));
// 3.设置想办法让浏览器能够支持下载我们需要的东西
//web下载文件的头部
resp.setHeader("Content-disposition", "attachment;filename="+fileName);
// 4.获取下载文件的输入流
FileInputStream inputStream = new FileInputStream(filepath);
// 5.创建缓冲区
int len = 0;
byte buff[] = new byte[1024];
// 6.获取 Outputstream对象//这里就是从文件中读出来
// 在web上表现为显示出下载文件
ServletOutputStream outputStream = resp.getOutputStream();
// 7.将 FileOutputStream流写入到 buffer缓冲区
while((len = inputStream.read(buff)) != 0){
outputStream.write(buff,0,len);
}
inputStream.close();
outputStream.close();
// 8.使用 Outputstream将缓冲区中的数据输出到客户端
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
web下载文件的头部
最新推荐文章于 2024-07-26 12:28:02 发布