Spring中接收文件类型的参数
首先需要在配置文件中加上文件处理的Resolver
1)CommonsMultipartResolver:使用Jakarta Commons FileUpload解析multipart请求
2)StandardServletMultipartResolver:依赖于Servlet3.0对multipart请求的支持
一般来说,在这两者之间,StandardServletMultipartResolver可能回事优选的方案。它使用Servlet所提供的功能支持,并不需要依赖其他项目。但那是如果想要部署在Servlet3.0之前的容器内,那么可能就需要CommonsMultipartResolver了
3、接收multipartFile
1)使用Spring提供的MultipartFile接口
2)可以在Servlet3.0的容器中使用Part接口
Xml中的配置:
<!--defaultEncoding请求编码,需与文件编码一致;maxUploadSize上传大小限制 默认为1字节Byte ,uploadTempDir上传文件时,文件临时存储的目录,传完自动删除,不存在该目录会自动创建,不指定会使用默认 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<property name="maxUploadSize" value="52428800"/>
</bean>
接口中的代码:
@RequestMapping(value = "/uploadfile", method = RequestMethod.POST)
@ResponseBody
public AjaxModel uploadFileHandler(@RequestParam("file") MultipartFile file, @RequestParam("imageurl") String imageUrl) {
LOGGER.info("===>>>file :{}", file);
if (file != null) {
LOGGER.info("=====>>>file的大小:{},fileName:{}", file.getSize(), file.getName());
}
}