日常踩坑_下载文件时文件名是乱码
背景提要
一个下载文件的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处理
跳坑结束,祝你快乐!