问题
由于C端的解析方式不一,有时下载文件时会产生乱码文章来源:https://www.toymoban.com/news/detail-503840.html
原配置方式
配置为attachment;filename=%20.xlsx
形式
部分浏览器可正常解析,部分不行(如Postman)文章来源地址https://www.toymoban.com/news/detail-503840.html
static void setDownloadHeaders(HttpServletResponse response, String fileName) {
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
// 文件名称
fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8);
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + fileName);
}
处理:
配置为attachment;filename=%20.xlsx;filename*=utf-8''%20.xlsx
形式
static void setDownloadHeaders(HttpServletResponse response, String fileName) {
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
// 文件名称
fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8);
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + fileName + ";" + "filename*=utf-8''" + fileName);
}
到了这里,关于Java/Spring/Postman下载文件名称乱码处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!