一. 導入兩個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):
