一、首先,新建一个springboot项目,并勾选添加spring web和thymeleaf的依赖。
二、在templates下新建一个页面upload.html
然后在页面中添加一个表单和一个文件上传控件、一个按钮用于提交表单。
一个img标签用于图片回显。
三、新建一个控制器 UploadController
并在控制器中添加两个upload方法,第一个upload用于访问upload.html页面,第二个upload方法用于页面提交表单后上传图片并返回到upload.html页面。
@GetMapping("/upload") public String upload(){ return "upload"; } @PostMapping("/upload") public String upload(MultipartFile file, Model model) throws IOException { //获取上传文件名字 String filename=file.getOriginalFilename(); //通过上传文件名字截图后缀名 String fileext=filename.substring(filename.indexOf(".")); //定义新的文件名字 String newFileName= UUID.randomUUID().toString()+fileext; //获取上传图片路径 String path= ResourceUtils.getURL("classpath:").getPath()+"static/images/"; File uploadPath=new File(path+newFileName); //如果上传目录不存在,创建目录 if(!uploadPath.exists()){ uploadPath.mkdirs(); } //上传文件 file.transferTo(uploadPath); //把图片路径放入model model.addAttribute("filename","/images/"+newFileName); return "upload"; }
四、在application.properties配置文件中添加上传文件大小的控制
#单个文件上传的最大值 spring.servlet.multipart.max-file-size=5MB #上传文件总的最大值 spring.servlet.multipart.max-request-size=10MB
五、运行项目
运行项目并访问localhoust:8080/upload
然后选择一个图片,点击上传
图片就会上传成功并回显。
源码结构如下:
0条评论
点击登录参与评论