一、首先,新建一个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条评论
点击登录参与评论