解决文件下载时文件名中的中文变成下划线的问题
最近写完了文件下载接口之后,发现文件的名称是英文还能够保持原样,但是一旦文件名中有中文就会这样
文件名中的中文全部变成了下划线,这一看就是字符转化的时候出了问题
选择在文件名生成的时候进行转码
FileResource fr = filePathRepository.findById(fileId).get();
byte[] fileNameBytes = fr.getFilename().getBytes(StandardCharsets.UTF_8);
String fileName = new String(fileNameBytes, 0, fileNameBytes.length, StandardCharsets.ISO_8859_1);
这里在获取文件名之后对其进行转码再进行操作,就可以避免中文字符全部变成下划线的问题了。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17785.html