javaweb簡單的實現文件上傳


 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM