SSM项目中关于图片上传的错误。
首先在pom文件中采用spring-web 6,然后引用了上传文件必须的两个jar,部分代码如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>6.0.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.0.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>6.0.6</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
然后在spring-config.xml文件中配置文件上传对象
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8"/>
<property name="maxUploadSize" value="500000"/>
</bean>
发现上面代码中commons.CommonsMultipartResolver,defaultEncoding,maxUploadSize被标红色编译不通过,
后来检查外部库中:org.springframework.web.multipart确实不存在commons.CommonsMultipartResolver。
查到网上有说到把spring-web的版本改到5.0的,发现改了之后确实有org.springframework.web的5.0版本中有CommonsMultipartResolver这个对象了,但是项目之前都已经做了一部分,改成5.0后其它地方出错了。
这里想请问各位大咖,spring-web 6.0.6版本应该怎么实现文件上传的对象?
以 Spring Framework 5 为基础的文件上传配置在 Spring Framework 6 中已经不再使用 CommonsMultipartResolver。
在 Spring Framework 6 中,建议使用新的 StandardServletMultipartResolver,它是基于 Servlet 3.0 javax.servlet.http.Part 接口实现的。以下是一个示例配置:
仅供参考(Spring Framework 6 还引入了新的 MultipartResolver 接口,您可以自定义实现以适应特定的文件上传需求。)
<bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
<property name="maxUploadSize" value="500000" />
<property name="maxInMemorySize" value="4096" />
</bean>