SpringMVC上传文件踩过的坑
程序员文章站
2024-03-13 09:08:21
...
一、配置文件一个细节的问题
spring-mvc.xml配置多文件上传
<!-- 一定要设置ID,不然利用CommonsMultipartFile获取不到文件值 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<property name="maxUploadSize" value="104857600"/>
<property name="maxInMemorySize" value="4096"/>
</bean>
记住那个bean的ID一定要加上,不然SpringMVC在后台匹配不到上传的文件
会报Required CommonsMultipartFile parameter 'file' is not present
@RequestMapping("upload")
public BaseResult upload(@RequestParam(name = "file") CommonsMultipartFile file) {
BaseResult result = new BaseResult(ResConsts.Code.SUCCESS, ResConsts.Msg.FILE_UPLOAD_SUCCESS);
String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"
+ file.getOriginalFilename();//保存路径
try {
file.transferTo(new File(filePath));//复制文件
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
我xml文件中的bean没有加ID时,文件是上传到后台了,可以通过request获得到文件,但是SpringMVC一直获取不到,而且返回报错,一直查找,终于发现是xml文件配置问题,找了一下午,这个坑终于是踩上了
以后有问题随时更新
下一篇: 详细讲解Java中的main()方法