日常踩坑_下载文件时文件名是乱码

背景提要

一个下载文件的controller,下载下来内容虽然正常,但是文件名一直是乱码。

解决

需要清晰的一点就是,下载的文件名仅与请求头有关
所以实际只要设置一下
response.setHeader("Content-disposition", "attachment;filename=" + name);
但是呢又有一个问题,文件名是中文的时候,会出现乱码问题,所以对name进行一个预处理
String fileName = new String(name.getBytes("UTF-8"), "ISO-8859-1");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);

需要多加注意的一点是getBytes会抛错,注意try catch处理


跳坑结束,祝你快乐!

posted @ 2022-07-07 16:45  Dean_001  阅读(845)  评论(0编辑  收藏  举报