博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Servlet实现下载文件的功能
阅读量:6000 次
发布时间:2019-06-20

本文共 1853 字,大约阅读时间需要 6 分钟。

在前台有一个下载链接,比如

 

 

使用Servlet实现下载:

 

 

import java.io.File;  import java.io.FileInputStream;  import java.io.IOException;  import java.net.URLEncoder;    import javax.servlet.ServletException;  import javax.servlet.ServletOutputStream;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;    public class DownLoadServlet extends HttpServlet {              public DownLoadServlet() {          super();      }          public void destroy() {          super.destroy(); // Just puts "destroy" string in log          // Put your code here      }          public void doGet(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {          doPost(request,response);      }              public void doPost(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {          //处理请求          //读取要下载的文件          File f = new File("E:/好久不见.mp3");          if(f.exists()){              FileInputStream  fis = new FileInputStream(f);              String filename=URLEncoder.encode(f.getName(),"utf-8"); //解决中文文件名下载后乱码的问题              byte[] b = new byte[fis.available()];              fis.read(b);              response.setCharacterEncoding("utf-8");              response.setHeader("Content-Disposition","attachment; filename="+filename+"");              //获取响应报文输出流对象              ServletOutputStream  out =response.getOutputStream();              //输出              out.write(b);              out.flush();              out.close();          }                   }        /**      * Initialization of the servlet. 
* * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }

 

 

 

配置文件注意路径。。。

转载地址:http://bpkmx.baihongyu.com/

你可能感兴趣的文章
iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备
查看>>
好文推荐:javascript: 事件委托解析
查看>>
不会接口测试?如何使用eoLinker进行api接口测试
查看>>
通过地图图片生成可交互的地图
查看>>
php+ajax开发手机在线传输文本到电脑
查看>>
基本的隐写术:把任意文件隐藏在一张图片里
查看>>
javascript日期类型(Date)与php日期类型详解
查看>>
记一次vue开发环境搭建
查看>>
使用Jenkins进行持续部署(PHP代码)
查看>>
如何学习服务端开发—以代码工人的视角
查看>>
【219天】黑马程序员27天视频学习笔记【Day22复习脑图】
查看>>
基于 Electron 的爬虫框架 Nightmare
查看>>
弄清Classs,Symbols,Objects拓展 和 Decorators
查看>>
好文章必读 - 收藏集 - 掘金
查看>>
throttle debounce 总结
查看>>
利用win10 bash + cmder 搭建最顺手的前端开发环境
查看>>
Reflection:Java反射机制的应用场景
查看>>
PHP扩展 zqf 兼容7.0
查看>>
LockSupport源码阅读
查看>>
(Git 学习)Git SSH Key 创建步骤
查看>>