文件下载
2020-02-02 15:13
323 查看
文件下载
1、超链接下载(某些不适用)
某些格式的文件可以直接下载,某些就直接在浏览器打开了,根据文件的mime类型决定的,如果说浏览器不能识别的mime类型,那么就提示下载如果可以识别,就直接打开
2、编码下载
1、设置文件的mime类型
2、设置下载头信息
3、流操作
例如:
@WebServlet(value = "/fileDownloadServlet",name = "FileDownloadServlet")
public class FileDownloadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1、获取文件名
String name = request.getParameter("name");
//2、文件真实路径
String filepath = "E:\\file\\"+name;
//3、创建输入流
FileInputStream in = new FileInputStream(filepath);
//4、设置response的响应头 ServletContext
ServletContext context = getServletContext();
//获取文件的mime类型
String mimeType = context.getMimeType(name);
response.setHeader("content-type",mimeType);
//解决中文乱码:
//获取user-agent
String agent = request.getHeader("user-agent");
String fileName = DownLoadUtils.getFileName(agent, name);
//设置下载头信息
response.setHeader("content-disposition", "attachment; filename="+fileName);
//流操作
ServletOutputStream out = response.getOutputStream();
byte[] b = new byte[1024 * 10];
int len = 0;
while((len = in.read(b)) != -1){
out.write(b, 0, len);
}
out.close();
in.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response );
}
}
转载于:https://www.cnblogs.com/wzhsc/p/10326650.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 关于Jersey解决文件下载的问题
- ADS2009U1安装破解步骤及文件下载地址(亲测XP_WIN7成功)
- 文件的下载详解及案例解析
- 本地文件上传、下载服务器文件事物码
- Android学习笔记之反编译工具介绍及下载(Class文件反编译,xml文件反编译整理)
- u-boot 内核、文件系统下载方式
- ASP.NET 将XML文件下载到本地
- Servlet和Jsp实现原生的上传与下载文件
- iOS开发(OC)——iOS原生API实现文件下载
- qucik cocos2d lua http 登陆下载图片以及下载文件后的解压缩
- Http服务器实现文件的上传与下载
- [CentOS Python系列] 二.pscp上传下载服务器文件及phantomjs安装详解
- 前端实现文件下载功能
- 文件上传和文件下载
- IE<=8 下载或者读取录音文件的问题
- apache支持apk、ipk文件下载的配置方法
- 下载远程文件
- 在服务器端生成Excel文件然后从服务器下载的本地的代码
- asp.net实现文件夹及文件压缩,并实现下载(二)——文件超过150M
- wget文件下载工具