前端页面
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <meta charset="UTF-8" /> <title>Insert title here</title> </head> <body> <h1 th:inlines="text">文件上传</h1> <form action="地址" method="post" enctype="multipart/form-data"> <p>选择文件: <input type="file" name="file"/></p> <p><input type="submit" value="提交"/></p> </form> </body> </html>
使用enctype=“multipart/form-data” method="post"来表示进行文件上传
后端接口
@Slf4j @RestController public class UploadFileController { @PostMapping("/upload") public String upload(@RequestParam("file")MultipartFile file, HttpServletRequest request){ try { if (file.isEmpty()){ return "file is empty"; } String filename = file.getOriginalFilename(); log.info("上传文件名为:"+filename); //设置文件存储路径 String filePath = "路径"; String path = filePath+filename; log.info("path为"+path); File dest = new File(path); if (!dest.getParentFile().exists()){ dest.getParentFile().mkdirs(); //新建文件夹 } file.transferTo(dest);//文件写入 return "upload success"; }catch (IllegalStateException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } return "upload failure"; } }