ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java后台生成文件给前端下载(response输出流)

2022-08-18 00:33:16  阅读:116  来源: 互联网

标签:java stream length 后台 new out response buff


1、设置 ContentType
response.setContentType("application/x-download");

2、设置文件名,并指定编码格式

fileName = URLEncoder.encode("浏览器要显示的文件名", "UTF-8");
response.setCharacterEncoding("UTF-8");

3、将文件名 addHeader

response.addHeader("Content-Disposition", "attachment;filename=" + fileName);

4、读取文件流写入 response

File file = new File(filePath);
try {
       InputStream stream = new FileInputStream(file);

       ServletOutputStream out = response.getOutputStream();

       byte buff[] = new byte[1024];
       int length = 0;

       while ((length = stream.read(buff)) > 0) {
            out.write(buff,0,length);
       }
       stream.close();

       out.close();

       out.flush();

} catch (IOException e) {
       e.printStackTrace();
}

 

标签:java,stream,length,后台,new,out,response,buff
来源: https://www.cnblogs.com/huangruiwu/p/16597315.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有