MultipartFile大家想必不陌生,在SpringMVC的控制器方法中,我们可以通过MultipartFile自动注入上传的文件。我们从一个小案例引入,深入了解下MultipartFile
1、一个小问题
此问题来自真实案例,大家可以先想想当我们通过生产者端 /producer/produce上传文件时,消费者端会输出什么
1.1、整体结构

我们定义了以下结构:
-
服务端
- 生产者,将文件上传至生产者,经过处理后再发送到消费者
- 消费者,消费生产者发送来的文件
-
远程调用client
- 提供消费者的远程调用服务
1.2、生产者端
我们简单定义了一个上传功能,如下所示
@RestController
public class ProducerController {
@Autowired
private ConsumerFeignClient consumerFeignClient;
@PostMapping("/producer/produce")
public String produce(@RequestBody MultipartFile video) {
System.out.println("video:"+video);
//经过一系列操作,将视频转为图片...
MultipartFile photo=video;
consumerFeignClient.consume(photo);
return "video";
}
}
复制代码
1.3、消费者端
在消费者端我们直接输出photo
@RestController
public class ConsumerController {
@PostMapping("/consumer/consume")
public String consume(@RequestBody MultipartFile photo) {
System.out.println("photo:"+photo);
return "photo";
}
}
复制代码

本文通过一个实际案例探讨了SpringMVC中MultipartFile的使用,详细介绍了MultipartFile接口,包括其提供的文件信息方法,并揭示了在远程调用中正确处理文件的关键。通过对源码的解读,读者可以理解如何自定义MultipartFile子类来解决问题,以及在实践中避免文件获取异常。
最低0.47元/天 解锁文章
5563

被折叠的 条评论
为什么被折叠?



