更新時(shí)間:2021-12-07 10:01:49 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1006次
java代碼:
// @RequestMapping(value = "/upload.do", method = RequestMethod.POST)
@RequestMapping(value = "savefile", method = RequestMethod.POST)
// 這里的MultipartFile對(duì)象變量名跟表單中的file類型的input標(biāo)簽的name相同,所以框架會(huì)自動(dòng)用MultipartFile對(duì)象來(lái)接收上傳過來(lái)的文件,當(dāng)然也可以使用@RequestParam("img")指定其對(duì)應(yīng)的參數(shù)名稱
public String upload(MultipartFile upfile, HttpSession session, HttpServletRequest request)
throws Exception {
// 如果沒有文件上傳,MultipartFile也不會(huì)為null,可以通過調(diào)用getSize()方法獲取文件的大小來(lái)判斷是否有上傳文件
if (upfile.getSize() > 0) {
// 得到項(xiàng)目在服務(wù)器的真實(shí)根路徑,如:/home/tomcat/webapp/項(xiàng)目名/images
// String path = session.getServletContext().getRealPath("/");
String path=request.getRealPath("/");
// 得到文件的原始名稱,如:美女.png
String fileName = upfile.getOriginalFilename();
// 通過文件的原始名稱,可以對(duì)上傳文件類型做限制,如:只能上傳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.后臺(tái)要用文件類型接收文件,不能用字符串接收,負(fù)責(zé)會(huì)報(bào)錯(cuò);
3.后臺(tái)可用 String path=request.getRealPath("/"); 方法獲取項(xiàng)目的路徑,把文件放到相應(yīng)的路徑中。
4.springmvc中有對(duì)上傳文件的大小做限制 -->
5.多文件上傳
- 要使用multiple屬性
- 后臺(tái)接受是一個(gè)數(shù)組
數(shù)組接收的時(shí)候要注意使用 @RequestParam false
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)