关闭页面特效

有关servlet实现文件下载

废话不多说,上代码

1 package com.mlq.servlet; 2 3 import com.sun.net.httpserver.HttpsServer; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.ServletOutputStream; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 import java.io.FileInputStream; 11 import java.io.IOException; 12 import java.net.URLEncoder; 13 14 public class ServletReponseDFile extends HttpServlet { 15 @Override 16 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 17 // § 获取现在文件的路径 18 // § 下载的文件名 19 // § 设置让浏览器支持我们需要的下载的东西,让URLEncoder.encode编码,否则可能乱码 20 // § 获取下载文件的输入流 21 // § 创建缓冲区 22 // § 获取OutputStream对象 23 // § =将FileOutputStream流写入到buffer缓冲区 24 // 使用OutputStream,将缓冲区中的数据输出到客户端中 25 String realPath="D:/Javacode/servletWebappDemo2/servletWebappDemo2/src/main/resources/1.jpg"; 26 String filename=realPath.substring(realPath.lastIndexOf("/")+1); 27 resp.setHeader("Content-Disposition", "attachment; filename="+ URLEncoder.encode(filename,"utf-8")); 28 FileInputStream in=new FileInputStream(realPath); 29 byte[] bytes=new byte[1024]; 30 int len=0; 31 ServletOutputStream out = resp.getOutputStream(); 32 while ((len=in.read(bytes))>0){ 33 out.write(bytes,0,len); 34 } 35 } 36 37 @Override 38 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 39 doPost(req, resp); 40 } 41 }

 


__EOF__

作  者Mexcellent
出  处https://www.cnblogs.com/Mexcellent/p/17382777.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!

posted @   Mexcellent  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
0
0
关注
跳至底部
点击右上角即可分享
微信分享提示