码迷,mamicode.com
首页 > 其他好文 > 详细

文件下载

时间:2019-01-27 19:05:09      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:isp   浏览器   mime类型   write   创建   stream   down   响应头   信息   

文件下载

    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 );
}
}

文件下载

标签:isp   浏览器   mime类型   write   创建   stream   down   响应头   信息   

原文地址:https://www.cnblogs.com/wzhsc/p/10326650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!