更新時間:2021-12-07 10:01:49 來源:動力節點 瀏覽915次
java代碼:
// @RequestMapping(value = "/upload.do", method = RequestMethod.POST)
@RequestMapping(value = "savefile", method = RequestMethod.POST)
// 這里的MultipartFile對象變量名跟表單中的file類型的input標簽的name相同,所以框架會自動用MultipartFile對象來接收上傳過來的文件,當然也可以使用@RequestParam("img")指定其對應的參數名稱
public String upload(MultipartFile upfile, HttpSession session, HttpServletRequest request)
throws Exception {
// 如果沒有文件上傳,MultipartFile也不會為null,可以通過調用getSize()方法獲取文件的大小來判斷是否有上傳文件
if (upfile.getSize() > 0) {
// 得到項目在服務器的真實根路徑,如:/home/tomcat/webapp/項目名/images
// String path = session.getServletContext().getRealPath("/");
String path=request.getRealPath("/");
// 得到文件的原始名稱,如:美女.png
String fileName = upfile.getOriginalFilename();
// 通過文件的原始名稱,可以對上傳文件類型做限制,如:只能上傳jpg和png的圖片文件
if (fileName.endsWith("jpg") || fileName.endsWith("png") || fileName.endsWith("txt")) {
File file = new File(path, fileName);
upfile.transferTo(file);
return "/success.jsp";
}
}
return "/error.jsp";
}
1.文件上傳表單要用post方式提交,并且要加上 enctype="multipart/form-data" ;
2.后臺要用文件類型接收文件,不能用字符串接收,負責會報錯;
3.后臺可用 String path=request.getRealPath("/"); 方法獲取項目的路徑,把文件放到相應的路徑中。
4.springmvc中有對上傳文件的大小做限制 -->
5.多文件上傳
- 要使用multiple屬性
- 后臺接受是一個數組
數組接收的時候要注意使用 @RequestParam false
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習