1.单文件上传
1>页面编写
<form action="upload" method="post" enctype="multipart/form-data"> <span>用户名</span> <input type="text" name="name"/><br/> <span>头 像</span> <input type="file" name="file" accept="image/*"/><br/> <input type="submit" value="注册"> </form>2>控制层编写
@PostMapping("/upload") public String upload(MultipartFile file,String name,HttpSession session) throws Exception{ System.out.println(name); String basePath = session.getServletContext().getRealPath("/"); //获取文件名 String fileName = file.getOriginalFilename(); System.out.println(fileName); //目标文件 File targetFile = new File(basePath,fileName); //转存文件 file.transferTo(targetFile); System.out.println(targetFile.getAbsolutePath()); return "success"; }2. 多文件上传
1>页面编写
<form action="upload2" method="post" enctype="multipart/form-data"> <span>用户名</span> <input type="text" name="name"/><br/> <span>文 件1</span> <input type="file" name="files"/><br/> <span>文 件2</span> <input type="file" name="files"/><br/> <span>文 件3</span> <input type="file" name="files"/><br/> <input type="submit" value="提交"> </form>2>控制层编写
@PostMapping("/upload2") public String upload2(MultipartFile[] files,String name,HttpSession session) throws Exception{ System.out.println(name); String basePath = session.getServletContext().getRealPath("/"); for (int i = 0; i < files.length; i++) { MultipartFile file = files[i]; //获取文件名 String fileName = file.getOriginalFilename(); System.out.println(fileName); //目标文件 File targetFile = new File(basePath,fileName); //转存文件 file.transferTo(targetFile); System.out.println(targetFile.getAbsolutePath()); } return "success"; }
3.SpringMvc配置multipartResolver。
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8" /> <!-- 文件大小最大值 --> <property name="maxUploadSize" value="1000000" /> <!-- 内存中的最大值 --> <property name="maxInMemorySize" value="40960" /> </bean>4.注意点
form 表单中enctype="multipart/form-data" 不要忘记写。作用:这个form表单可以上传文件。