报错
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class cn.guet.utils.Result] with preset Content-Type ‘multipart/form-data’
当我将判断文件是否存在逻辑,放在writeBytes中时,当判断到文件不存在,抛出BusinessException
异常时,后台报错。
因为此时的response.setContentType("multipart/form-data")
,HttpMessageConverter
处理不了,所以我将判断逻辑提到前面,问题就迎刃而解了。
// 检验文件是否存在
File file = new File(storagePath);
log.info("storagePath: {}",storagePath);
if(!file.exists()){
log.info("wfenwogergh======================");
throw new BusinessException(400,"文件不存在");
}
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition",
"attachment;fileName=" + downloadName);
// 现阶段, 没区别
// "attachment;fileName=" + URLEncoder.encode(downloadName, "utf-8"));
writeBytes(storagePath,response.getOutputStream());