一. 導入兩個jar包
commons-fileupload-1.3.2.jar和commons-io-2.5.jar
二. 創(chuàng)建jsp文件
<form action="/uploadSave" method="post" enctype="multipart/form-data"> <li>文件上傳: <input type="file" name="file"> </li> <li> <input type="submit" value="上傳"> </li> </form>
三. 創(chuàng)建控制器接收
@Controller public class UploadController { @RequestMapping("/upload") public String upload(){ return "upload"; } @RequestMapping("/uploadSave") @ResponseBody public Map uploadSave(MultipartFile file){ String fileName = file.getOriginalFilename(); String ext = fileName.substring(fileName.lastIndexOf(".")); String newName = UUID.randomUUID() + ext; //得到新的文件名 String realpath = ResourceBundle.getBundle("config").getString("uppath"); //讀取src下config.properties配置上傳路徑 File targetFile = new File(realpath, newName); if (!targetFile.exists()) { targetFile.mkdirs(); } try { file.transferTo(targetFile); } catch (IOException e) { e.printStackTrace(); } Map map = new HashMap<>(); map.put("newName",newName); return map; } }
將文件上傳至設(shè)置目錄,并在瀏覽器顯示json格式
{"newName":"984f41e3-14e3-4745-8698-9522fdb06c24.jpg"}
在上傳文件時需要在配置文件中使用 Spring 的 CommonsMultipartResolver 類配置 MultipartResolver 用于文件上傳,應(yīng)用的配置文件 springmvc-servlet.xml 的代碼如下:
<!-- 配置MultipartResolver,用于上傳文件,使用spring的CommonsMultipartResolver --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="5000000" /> <property name="defaultEncoding" value="UTF-8" /> </bean>
相關(guān):