欢迎进入jdb电子官方网站!

咨询热线:400-156-4567

No converter for [class xxx] with preset Content-Type ‘multipart/form-data’

发布时间:2024-01-28 21:05:14

报错

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());