Spring MVC上传文件
Spring MVC上传文件
1.Web.xml中添加:
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <multipart-config> <max-file-size>5242880</max-file-size> <!--上传单个文件的最大限制5MB --> <max-request-size>20971520</max-request-size> <!--请求的最大限制20MB,上传多个文件总共大小 --> <file-size-threshold>0</file-size-threshold> <!--当文件的大小超过临界值时将写入磁盘 --> </multipart-config> </servlet> <!--拦截所有请求 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
2.Spring MVC配置文件中添加:
<!-- 视图解析器 --> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver"> </bean>
3. 添加一个控制器
@Controller @RequestMapping("/fileupload") public class FileUploadController { @RequestMapping("page") public String file(Model model){ return "fileupload"; } @RequestMapping(value="/saveFile",method=RequestMethod.POST) public String saveFile(Model model,MultipartFile[] files,HttpServletRequest request) throws Exception{ //文件存放的位置 String path=request.getSession().getServletContext().getRealPath("/files"); System.out.println(path); String ret=""; for (MultipartFile file : files) { //保存文件 File tempFile=new File(path, file.getOriginalFilename()); file.transferTo(tempFile); ret+="<img src='../files/"+file.getOriginalFilename()+"' width='300' />"; } model.addAttribute("images", ret);
return "fileupload";
}
}
4.文件上传页面 fileupload.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>fileupload</title> </head> <body> <h2>fileupload</h2> <form action="saveFile" method="post" enctype="multipart/form-data"> <p> <label for="files">文件:</label> <input type="file" name="files" id="files" multiple="multiple" /> </p> <p> <button>提交</button> </p> <p>${images}</p> </form> </body> </html>
5.浏览器访问
end
觉得不错,点个赞吧