스프링부트 실전_다운로드, 내보내기 기능 사용시 다운로드 파일명에 대한 해결방법이 깨지거나 ____

@RequestMapping(value = "/exportMonthlySchedule")
@ResponseBody
public void exportMonthlySchedule(HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException {
	//设置中文文件名与后缀
    String encodedFileName = URLEncoder.encode("下载文件的中文名称") + ".xlsx","utf-8").replaceAll("\\+", "%20");
    // 清除buffer缓存
    response.reset();
    // 指定下载的文件名
    response.setHeader("Content-Disposition",
            "attachment;filename="+encodedFileName+"");
    response.setContentType("application/vnd.ms-excel;charset=UTF-8");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
   ...........
    } catch (Exception e) {
        e.printStackTrace();
    }
}

 

추천

출처blog.csdn.net/qq_41916378/article/details/108467125