问题:当下载文件时,文件名称为中文时,如果没有对中文进行处理就会出现乱码的问题,如下图:
解决方案:对中文进行编码处理,代码如下:
解决下载文件时文件名乱码问题
byte[] fileNameBytes = fileName.getBytes(StandardCharsets.UTF_8);
fileName = new String(fileNameBytes, 0, fileNameBytes.length, StandardCharsets.ISO_8859_1);
文件下载attachment设置为编码过后的文件名即可
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.valueOf(contentType));
headers.setContentDispositionFormData("attachment", fileName);
headers.setContentLength(contentLength);