黑马程序员技术交流社区

标题: 文件下载步骤 [打印本页]

作者: huojiachao    时间: 2019-2-27 17:19
标题: 文件下载步骤

文件下载的步骤

1.获取文件名称
String filename = request.getParameter("filename");
2.使用字节输入流加载文件进内存
2.1找到文件服务器路径
ServletContext context = this.getServletContext();
String path = context.getRealPath("/img"+filename)
//使用字节流关联//输入流读取
FileInputStream in  = new FileInputStream(path)
3.设置response响应头
3.1设置响应头类型content-type
String mimeType = context.getMimeType(filname)//获取文件的mime类型
3.2设置响应头打开方式:content-disposition
response.setHeader("content-disposition","attachment;filename="+filename);


response.setHeader("content-disposition","attachment;filename="+filename);
4.将输入流的数据写出到输出流中
        ServletOutputStream sos = response.getOutputStream();
        byte[] buff = new byte[1024 * 8];
        int len = 0;
        while((len = fis.read(buff)) != -1){
            sos.write(buff,0,len);
        }
        fis.close();
如果文件中有中文则则会出现乱码
下面就是解决乱码的方式:
在 设置响应头的打开方式代码的上面:
response.setHeader("content-disposition","attachment;filename="+filename);
添加代码
使用工具类
第一步:

第二步:


QQ截图20190227171207.png (46.92 KB, 下载次数: 8)

QQ截图20190227171207.png

QQ截图20190227171354.png (7.13 KB, 下载次数: 9)

QQ截图20190227171354.png





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2