package download;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
@WebServlet("/download1")
public class Download1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//编写程序 通知浏览器不要打开 直接下载
//ueser-Agent获得浏览器的信息
String agent = request.getHeader("user-Agent");
String filName="man.jpg";
/* attachment 以附件的方式进行下载 若改为inline则为打开
Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。
当 Internet Explorer 接收到头时,它会激活文件下载对话框*/
// 直接下载
response.setHeader("Content-Disposition","attachment;fileName");
// 直接打开
response.setHeader("Content-Disposition","inline;fileName");
//获得图片路径
String path = getServletContext().getRealPath("man.jpg");
// 获得本地字节输入流
FileInputStream fis = new FileInputStream(path);
// 获得字节输出流
ServletOutputStream out = response.getOutputStream();
int len=0;
byte[] bytes = new byte[1024];
while ((len=fis.read(bytes))!=-1){
out.write(bytes,0,len);
}
fis.close();
}
}
文件下载
最新推荐文章于 2023-07-15 15:46:21 发布