首页 > 编程语言 >java后台生成文件给前端下载(response输出流)

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

时间:2022-08-18 00:24:28浏览次数:41  
标签: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
From: https://www.cnblogs.com/huangruiwu/p/16597315.html

相关文章

  • 02.JavaScript学习笔记1
    JavaScript学习笔记1.强制类型转换当使用加号进行运算时,会将数字强制转换为字符串,然后再进行运算。constyear='1991';console.log(year+18);console.log(typeo......
  • Day5(复习:java数组)
    Java数组数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成每个数组元素通过下标来访问 数组声明......
  • 关于Java数据结构转储(本文适合初学者)
    有时候想往mysql或者redis数据库存点数据结构。尤其是redis,尽量把大块数据打包存起来,减少set和get数据次数。再说远点,对分布式数据同步也是有很大的好处。下面简单介......
  • JavaScript 性能优化技巧分享
    JavaScript作为当前最为常见的直译式脚本语言,已经广泛应用于Web应用开发中。为了提高Web应用的性能,从JavaScript的性能优化方向入手,会是一个很好的选择。本文从加载......
  • 9.使用Java的方式配置Spring
    ......
  • java13-异常
    什么是异常检查性异常:最具代表的检查性异常是用户错误火问题引起的异常,程序员无法预见的。运行性异常:运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异......
  • Java 中Map五种取值方式
    map的主要作用是什么?   可以通过创建一个map的实现类来存放数据值和值的描述也可以通过描述去取得数据   将键映射到值的对象。一个映射不能包含重复的键;每个......
  • JavaSE:第八章:java常用类
    史上最全的知识体系脑图,覆盖所有知识点,所有细节,注意事项。java常用类:包含包装类,字符串相关的类,JDK8之前时间日期API,Math类,BigInteger类与BigDecimal类,StringBuffer,Stri......
  • 怎么进行Javaweb应用的快速开发
    (1)Javaweb的开发流程:前端设计:敲定业务功能模块,完成前端网页设计。数据库设计(数据库设计是难点)保证前端可以自动运行,独立化工程。数据接口如何对接:json,对象allinone!......
  • 批量插入时 java.sql.SQLSyntaxErrorException
    使用shardingspherebatchInsert批量插入时,单次插入300多条数据 ###Errorupdatingdatabase.Cause:java.sql.SQLSyntaxErrorException:Youhaveanerrorinyou......