有没有办法将上传的文件转换为自定义POJO,此类有一个以Inputstream
为参数的构造函数:
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) {
Image image = new Image(multiPartFile.getInputStream());
...
}
我想避免手动构建Image对象,并且已经构建了如下构造:
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<String> upload(@RequestParam("file") Image image) {
...
}
像this one这样的解决方案显然设置了对象的属性,但我无法设置该属性,因为我无法控制Image
对象,所以设置InputStream
的唯一方法是通过构造函数,this post显然使用转换器来实现我想要的,我创建了这样的转换器并通过WebMvcConfigurerAdapter.addFormatters
注册但是它已经注册了从未调用过,看起来Spring使用默认构造函数创建一个对象,并且从不调用转换器。