记录一次乱码问题修复经历!排查修复Poi-tl使用HttpServletResponse导出Word乱码问题

December 17, 2023
测试
测试
测试
测试
1 分钟阅读

问题

  • Poi-tlHttpServletResponse导出Word乱码问题:
    • 文件名使用中文,中文名乱码
    • 导出的文件下载后乱码

原因

  • 文件名中文乱码:
    • 没有设置文件名的编码规则
  • 文件下载乱码:
    • RESTful中的Controller层错误地使用了PostMapping

解决办法

  • 文件名乱码:
String attachName = new String(("Xxx.docx").getBytes(), "ISO-8859-1");
response.setHeader("Content-disposition", "attachment;filename=" + attachName);

文件下载乱码:

  • Word导出的接口使用GetMapping
  • 使用Request URL来获取文件的下载

获取Word模版路径:

  • 使用InputStream工具类获取路径的文件
 // 使用InputStream流获取Word模版
InputStream fis = this.getClass().getResourceAsStream("/template/xxxTemplate.docx");

总结

  • 根据框架文档好好学习框架的用法后再根据实例开发相关功能
  • 注意框架中的使用注意点和高级用法
  • 将高级用法与项目实际结合起来,选择使用的最佳方案

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多