当前位置: 首页 > news >正文

Springboot下载文件, 文件名中文是乱码, 空格变加号

默认把文件名放上去, 中文会乱码, 文件名种有空格, 就会被截断

public void download(HttpServletResponse response){
    // 文件名先进行url编码, 避免乱码问题
    // 把+用%20进行替换
    fileName = URLEncoder.encode(fileName, "UTF-8").replace("+", "%20");
    response.setContentType("application/octet-stream");
    // 注意是 filename*=utf-8''
    response.setHeader("Content-Disposition", "attachment;filename*=utf-8''" + fileName + "." + fileRecord.getFileFormat());

}

不能直接把空格替换成%20, 因为%会被url编码转成%25, 虽然可以再手动替换回来, 但太麻烦了

就先url编码, 再替换+号即可

参考: https://blog.csdn.net/minshiwang/article/details/105393649

http://www.dtcms.com/a/132578.html

相关文章:

  • Web前端开发——超链接与浮动框架(下)
  • 机器学习项目一:虚假新闻检测
  • yum安装MySQL数据库
  • MCP协议实战指南:在VS Code中实现PostgreSQL到Excel的自动化迁移
  • Unified Modeling Language,统一建模语言
  • centOS 安装和配置docker
  • 《探秘鸿蒙分布式软总线:开启无感发现与零等待传输新时代》
  • 3.7 字符串基础
  • 树莓派第5代主板连接cis摄像头
  • Python学习笔记(列表相关操作)
  • 供应商涨价,项目如何控制采购成本
  • ⑫交换机引流设备案例
  • What Was the “Game Genie“ Cheat Device, and How Did It Work?
  • ViT 模型讲解
  • 【Java八股】
  • 3.2.2.2 Spring Boot配置视图控制器
  • 机器学习项目三:颜色检测
  • Java老鼠迷宫(递归)---案例来自韩顺平老师讲Java
  • Neo4j GDS-11-neo4j GDS 库中相似度算法实现
  • 鸿蒙开发-ArkUi控件使用
  • 重学Redis:Redis常用数据类型+存储结构(源码篇)
  • 5.5 GitHub数据秒级分析核心揭秘:三层提示工程架构设计解析
  • 日志文件爆满_配置使用logback_只保留3天日志文件_每天定时生成一个日志文件---SpringCloud工作笔记206
  • 如何制定有效的风险应对计划
  • C++ std::string_view介绍及性能提升分析
  • android面试情景题详解:android如何处理断网、网络切换或低速网络情况下的业务连续性
  • 关于SENSOR 720P/1080P 静电保护方案
  • Python静态方法和类方法详解
  • 在断网的时候,websocket 一直在CLOSING 状态
  • 如何制定合理的项目预算