首先,对比学习
struts文件上传:
SpringMvc文件上传:
一、SpringMvc之文件上传
1、相关pom依赖
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>
2、spring-mvc.xml
假如设置文件太小,会上传不了
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 必须和用户JSP 的pageEncoding属性一致,以便正确解析表单的内容 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 文件最大大小(字节) 1024*1024*50=50M--> <property name="maxUploadSize" value="52428800"></property> <!--resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常--> <property name="resolveLazily" value="true"/> </bean>
3、webapp下新建upload.jsp
多功能表单设置:enctype="multipart/form-data"
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="${pageContext.request.contextPath}/book/upload" method="post" enctype="multipart/form-data"> <input type="file" name="mwy"> <input type="submit" value="上传"> </form> </body> </html>
4、BookController中增加上传方法
记住 MultipartFile mwy 要与jsp中的 name="mwy" 一致
@RequestMapping("/upload") public String upload(HttpServletRequest request, MultipartFile mwy){ try { FileUtils.copyInputStreamToFile(mwy.getInputStream(),new File("E:/temp/mi/"+mwy.getOriginalFilename())); } catch (IOException e) { e.printStackTrace(); } return "bookList"; }
5、访问
在IDEA中添加硬盘与tomcat网络请求的映射
点击就"+";选择外部源:
选择 BookController中upload方法的地址(E:/temp/mwy/):
6、结果
访问图片:
结束·!!!