SpringMVC-文件上传-保姆级教程
文件上传
-
文件上传流程图

-
导jar包
commons-io-2.4.jar
commons-fileupload-1.4.jar -
springmvc.xml中编写文件上传解析器
<!--文件上传解析器--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"/> </bean> -
jsp中的配置
<form action="upload" method="post" enctype="multipart/form-data"> <input type="file" name="img" /> <input type="submit" value="提交" /> </form>
-
后端代码书写
@Controller public class uploadController { @RequestMapping("/toUpload") public String toUpload(){ return "upload"; } @RequestMapping("/upload") public void upload(MultipartFile[] img, HttpSession session) { // 1 准备文件上传位置 // 在WEB目录下的“/upload”文件夹中存放上传的文件 ServletContext servletContext = session.getServletContext(); String realPath = servletContext.getRealPath("/upload"); File file = new File(realPath); if (!file.exists()){// 如果文件夹不存在,创建文件夹 file.mkdir(); } // 多个上传时 for (MultipartFile imgFile : img) { // 获取文件名 String fileName = imgFile.getOriginalFilename(); // 分割字符串 String[] split = fileName.split("\\."); // 添加时间戳,防止文件重名 fileName = split[0]+System.currentTimeMillis()+"."+split[1]; // 调用transferTo方法实现文件上传功能 try { imgFile.transferTo(new File(realPath+File.separator+fileName)); } catch (IOException e) { e.printStackTrace(); } } } }