之前使用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写不写好像没关系,如果懂的话,评论区可以说一下