headers.add("Content"> headers.add("Content">
117.info
人生若只如初见

springboot下载文件出现乱码怎么解决

?????Spring Boot?????????,??????????????????????????????:

  1. ??Content-Disposition???????????????????URL??,????HttpHeaders??Content-Disposition???
String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", " ");
headers.add("Content-Disposition", "attachment; filename=\"" + encodedFileName + "\"");
  1. ??Content-Type???application/octet-stream,?????????UTF-8?
headers.add("Content-Type", "application/octet-stream; charset=UTF-8");
  1. ???????????????,??????????????
InputStream inputStream = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));

??????,???????????????????,?????????

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe2c6AzsLAQJfBVA.html

推荐文章

  • Springboot多线程并发怎么处理

    在Spring Boot中处理多线程并发有多种方式,以下是一些常用的处理方式: 使用Java的Executor框架:Executor框架提供了一种将任务提交给线程池执行的方式。通过使...

  • springboot多表联查的方法是什么

    在Spring Boot中,可以使用JPA(Java Persistence API)和Hibernate来进行多表联查。
    以下是一种常见的多表联查方法: 创建实体类:首先,创建每个表对应的...

  • springboot找不到mapper怎么解决

    如果在Spring Boot中无法找到Mapper,可以尝试以下几个解决方案: 检查mapper接口的位置:确保mapper接口位于Spring Boot应用程序的Spring扫描路径下。可以使用@...

  • SpringBoot工具类封装的方法是什么

    Spring Boot工具类封装的方法是一些常用的工具方法,用于简化开发过程中的一些常见操作。这些方法可以帮助开发者更快速地完成开发任务,提高开发效率。
    常见...

  • ajax pro配置与使用

    Ajax(Asynchronous JavaScript and XML)是一种用于在Web页面上进行异步通信的技术,它允许Web应用程序在不刷新整个页面的情况下与服务器进行数据交换。下面是A...

  • Java/JSP获得客户端网卡MAC地址的三种方法解析

    ?Java/JSP?,???????????????????MAC??:1???Java?NetworkInterface?:????????,????NetworkInterface??getHardwareAddress()?????MAC????????????:```javaimport j...

  • IDEA中使用Java语言连接MySQL实现增、删、查操作

    使用Java连接MySQL数据库可以通过以下步骤实现增、删、查操作:1、导入相关的依赖库。需要引入MySQL数据库的驱动库,可以在项目的build.gradle(或pom.xml)文件...

  • python staticmethod函数有哪些优缺点

    静态方法(staticmethod)是定义在类中的方法,它不需要访问或修改类的属性和实例,不需要访问self参数,也不会继承给子类。静态方法可以通过类名直接访问,而不...