spring.mvc.view.prefix=/WEB_INF/jsp/
spring.mvc.view.suffix=.html
IndexControllerhtml
package com.demo03.demo_03.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class IndexController { @RequestMapping("/") public String index(){ return "index"; } }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>單圖片上傳</title> </head> <body> <form action="" enctype="multipart/form-data" method="post"> <input type="file" name="file"> <input type="submit" value="圖片上傳"> </form> </body> </html>
package com.demo03.demo_03.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.util.UUID; @Controller public class IndexController { @RequestMapping("/") public String index(){ return "index"; } //單圖片上傳 @RequestMapping("/upload") @ResponseBody public String upload(HttpServletRequest request, MultipartFile file){ try{ //上傳目錄地址 String uploadDir=request.getSession().getServletContext().getRealPath("/")+"upload/"; //判斷目錄是否存在,若是不存在則構建目錄 File dir=new File(uploadDir); if(!dir.mkdir()){ dir.mkdir(); } //文件名後綴 String suffix=file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); //上傳文件名 String fileName= UUID.randomUUID()+suffix; //服務端保存的文件對象 File saveFile=new File(uploadDir+fileName); //將上傳的文件寫入到服務器端文件內 file.transferTo(saveFile); }catch (Exception e){ e.printStackTrace(); return "上傳失敗"; } return "上傳成功"; } }
index.html更新後java
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>單圖片上傳</title> </head> <body> <form action="/upload" enctype="multipart/form-data" method="post"> <input type="file" name="file"> <input type="submit" value="圖片上傳"> </form> </body> </html>
package com.demo03.demo_03.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; import java.util.UUID; @Controller public class IndexController { @RequestMapping("/") public String index(){ return "index"; } //單圖片上傳 @RequestMapping("/upload") @ResponseBody public String upload(HttpServletRequest request, MultipartFile file){ try{ //上傳目錄地址 String uploadDir=request.getSession().getServletContext().getRealPath("/")+"upload/"; //判斷目錄是否存在,若是不存在則構建目錄 File dir=new File(uploadDir); if(!dir.mkdir()){ dir.mkdir(); } //文件名後綴 String suffix=file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); //上傳文件名 String fileName= UUID.randomUUID()+suffix; //服務端保存的文件對象 File saveFile=new File(uploadDir+fileName); //將上傳的文件寫入到服務器端文件內 file.transferTo(saveFile); }catch (Exception e){ e.printStackTrace(); return "上傳失敗"; } return "上傳成功"; } //提取上傳圖片的公共方法 /* * uploadDir 上傳目錄 * file上傳對象 * */ public void executeUpload(String uploadDir,MultipartFile file) throws IOException { //文件名後綴 String suffix=file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); //上傳文件名 String fileName=UUID.randomUUID()+suffix; //服務端保存文件對象 File saveFile=new File(uploadDir+fileName); //將上傳的文件寫入到服務器端文件內 file.transferTo(saveFile); } //多文件上傳 @RequestMapping("/uploadArray") @ResponseBody public String uploadArray(HttpServletRequest request,MultipartFile[] file){ try { //上傳目錄地址 String uploadDir=request.getSession().getServletContext().getRealPath("/")+"upload/"; //若是目錄不存在,則構建目錄 File dir=new File(uploadDir); if(!dir.exists()){ dir.mkdir(); } //遍歷文件數組執行上傳 for(int i=0;i<file.length;i++){ if(file[i]!=null){ //調用上傳的方法 executeUpload(uploadDir,file[i]); } } }catch (Exception e){ e.printStackTrace(); return "上傳失敗"; } return "上傳成功"; } }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>單圖片上傳</title> </head> <body> <h2>單文件上傳</h2> <form action="/upload" enctype="multipart/form-data" method="post"> <input type="file" name="file"> <input type="submit" value="圖片上傳"> </form> <h1>多個文件上傳</h1> <form action="/uploadArray" enctype="multipart/form-data" method="post"> <input type="file" name="file"> <input type="file" name="file"> <input type="file" name="file"> <input type="submit" value="圖片上傳"> </form> </body> </html>