一、创建文件上传FileController类
package com.byzore.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpSession; import java.io.File; import java.io.IOException; @Controller @RequestMapping("/file") public class FileController { @RequestMapping("/fileUpload") /** * MultipartFile 选择文件 */ public String fileupload(HttpSession session, MultipartFile file,String author)throws IOException{ System.out.println("作者:"+author); System.out.println(file); /** * 如何处理文件 */ if (!file.isEmpty()){ //获取文件名称 String fileName=file.getOriginalFilename(); //获取到需要上传的路径 String realPath = session.getServletContext().getRealPath("/WEB-INF/upload"); //创建文件对象 File uploadfile=new File(realPath+"\"+fileName); //如何上传文件 file.transferTo(uploadfile); } return "index"; } @RequestMapping("/fileUploads") /** * 多文件上传 */ public String fileuploads(HttpSession session, MultipartFile[] uploadFiles,String author)throws IOException{ System.out.println("作者:"+author); System.out.println(uploadFiles); for (MultipartFile file: uploadFiles) { /** * 如何处理文件 */ if (!file.isEmpty()){ //获取文件名称 String fileName=file.getOriginalFilename(); //获取到需要上传的路径 String realPath = session.getServletContext().getRealPath("/WEB-INF/upload"); //创建文件对象 File uploadfile=new File(realPath+"\"+fileName); //如何上传文件 file.transferTo(uploadfile); } } return "index"; } }
二、编辑applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!--将Controller注入到容器当中 id就是浏览器请求地址--> <!--<bean id="/firstController" class="com.springmvc.controller.FirstController"></bean>--> <!--配置包扫描器--> <context:component-scan base-package="com.byzore"/> <!--Spring支持SpringMVC--> <mvc:annotation-driven/> <!--配置视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".jsp"/> </bean> <!--利用DefaultServlet放行资源--> <mvc:default-servlet-handler/> <!--从Spring3.0.4版本提供资源放行的方式--> <!--<mvc:resources mapping="/**" location="/img"/>--> <!--文件上传解析器--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--编码--> <property name="defaultEncoding" value="UTF-8"/> <property name="maxUploadSize" value="5000000000"/> </bean> </beans>
三、创建fileUpload.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>文件上传</title> </head> <body> <form action="/file/fileUpload" method="post" enctype="multipart/form-data"> <input type="file" name="fileUpload"/> 作者:<input type="text" name="author"/> <input type="submit" value="提交"/> </form> </body> </html>