步骤:
页面:多功能表单设置multipart/form-data
后台:再上传的方法上传递一个multipartFile的类接收页面传递过来的参数
访问:tomcat配置映射地址
idea:直接在tomcat的发布目录进行配置
相关pom依赖
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>
spring-mvc.xml
配置文件上传解析器(CommonsMultipartResolver)
<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>
界面:
表单提交方式为method="post" enctype="multipart/form-data"
<form action="${pageContext.request.contextPath}/book/upload" method="post" enctype="multipart/form-data">
<input type="file" name="xxx">//与方法中变量名一致
<input type="submit" value="上传">
</form>
代码
文件项用spring提供的MultipartFile进行接收
@RequestMapping("/upload") public String upload(HttpServletRequest request, MultipartFile xxx){ // xxx代表了客户端上传文件对象 // 将xxx写入到xxx盘 // BufferedInputStream // BufferedOutputStream try { FileUtils.copyInputStreamToFile(xxx.getInputStream(),new File("G:/zzz/"+xxx.getOriginalFilename())); } catch (IOException e) { e.printStackTrace(); } return "bookList"; }
在IDEA中添加硬盘与tomcat网络请求的映射
----------没有了------------