SpringBoot 使用MultipartFile上传文件为null的原因

之前使用springMVC上传文件时的过程是这样的,先导入依赖,

 

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.4</version>
</dependency>

然后添加文件上传配置类

@Configuration
@EnableWebMvc
@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
public class UploadFileConfig_yct {
    
    @Bean(name = "multipartResolver")
    public CommonsMultipartResolver multipartResolver() {
        return new CommonsMultipartResolver();
    }
}

最后在controller中上传文件

 @PostMapping(value = "upload")
    public String upload( @RequestParam("file") MultipartFile[] file_upload,HttpServletRequest request) throws IOException {
    /* 限制文件上传的大小  限制文件的扩展名  ServletContext  MIME类型   保存文件的名称  */

    /* 获取文件大小 */
    /*uploadFile.getSize();*/
    /* 获取文件名称 */
    /*uploadFile.getOriginalFilename();*/
    /* 获取文件的mime类型  */
    /*uploadFile.getContentType();*/
    /* 把文件保存到网络上 */
    /*uploadFile.getInputStream();*/
        for (MultipartFile multipartFile : file_upload) {
            multipartFile.transferTo(new File("/Users/mr.yu/Desktop/ff/" + multipartFile.getOriginalFilename()));
        }

        System.out.println("............");
        return "文件上传成功";
    }

然后使用postman测试

 以上是springMVC上传文件的示例。

但springboot上传文件略有不同,SpringMVC使用的文件上传是CommonMultipartFile,而springboot已内置的文件上传类是StandardMultipart,所以用的时候直接用就可以,只需在application.yml配置和文件上传相关的配置就可以,但是要注意的是使用postman测试的时候,

上传的类型为form-data,key的值要和MultipatFile 的参数名一样,如果不一定的话,要使用

@RequestParam("和postman里的key保持一致")

注解。

Headers里的这个Content-Type和multipart/form-data写不写好像没关系,如果懂的话,评论区可以说一下 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值