关于SpringMvc中文件上传相关

心不动则不痛 提交于 2019-11-30 18:06:37

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());
        }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!