springmvc 下载文件,文件名乱码解决办法

avatar
@GetMapping(value = "/template_download", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
public Resource template_download(HttpServletResponse response) throws UnsupportedEncodingException {
    File file = new File("/Users/h/Desktop/测试文件.xls");
    response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
    String fileName = URLEncoder.encode(file.getName(), StandardCharsets.UTF_8.toString());
    // 下面设置方法可以解决文件名乱码问题
    response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"; filename*=utf-8''" + fileName);
    response.setHeader("Content-Length", String.valueOf(file.length()));
    return new FileSystemResource(file);
}
0 条评论

目前还没有回答,快来帮帮TA吧!

添加一条评论 请尽量发布对他人有帮助的评论

登录后可发布评论

登录 | Github登录