Spring Mvc上传文件报错MissingServletRequestPartException:Required request part ‘file‘ is not present两种解决方案

今天写了个SpringMvc上传文件的接口 运行后报错

 附上接口代码

 @PostMapping("/upload")
    public String handleFileUpload(@RequestPart("file") MultipartFile file) {
        try {
            // 保存上传的文件到服务器
            byte[] bytes = file.getBytes();
            Path path = Paths.get(Objects.requireNonNull(file.getOriginalFilename()));
            Files.write(path, bytes);
        } catch (IOException e) {
            e.printStackTrace();
            return "err";
        }
        return "success";//只做测试
    }

 附上 请求截图 

 出现这种情况通常有两种情况:

  1. @RequestPart("file") 里面的file和前端请求的name="file"的值 不同 (见上图)
  2. 没有配置Spring MVC的文件上传解析器

很明显 这里第一种情况不满足  解决第二种情况的方法有多种 我采用自定义配置类 (注意加上@Configeration 声明为配置类)

@Configuration // 声明为配置类
public class AppConfig {
    @Bean // 声明为 Bean
    public CommonsMultipartResolver multipartResolver() {
        CommonsMultipartResolver resolver = new CommonsMultipartResolver(); // 创建 CommonsMultipartResolver 实例
        resolver.setMaxUploadSize(10485760); // 设置最大上传文件大小为 10 MB
        resolver.setDefaultEncoding("UTF-8"); // 设置默认编码为 UTF-8
        return resolver; // 返回创建的实例
    }
} 

加入配置类 再次发送请求

接口正常响应


 注意接口不能用@RequestBody 否则会抛出空指针异常


                
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喂不饱的小陶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值