springboot 上传文件 thymeleaf
本文主要说的是springboot使用thymeleaf上传文件
- pom.xml依赖
<!--web项目-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--引入thymeleaf的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
- application.properties配置
#默认路径
spring.thymeleaf.prefix=classpath:/templates/thymeleaf/
#后缀
spring.thymeleaf.suffix=.html
#模板格式
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false
- 前端代码编写
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上传文件</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data" action="/upload">
<p>
文件:<input type="file" name="file">
</p>
<p>
<input type="submit" value="上传">
</p>
</form>
</body>
</html>
文件需要在resources下面的templates文件夹下

4. controller编写
package com.study.cdmy.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
@Controller
public class UploadController {
private static final Logger LOGGER = LoggerFactory.getLogger(UploadController.class);
@RequestMapping("/goUpload")
public String upload() {
return "upload";
}
@RequestMapping("/upload")
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "上传失败,请选择文件";
}
String fileName = file.getOriginalFilename();
String filePath = "D:\\photos\\";
File dest = new File(filePath + fileName);
try {
if (!dest.exists()){
dest.createNewFile();
}
file.transferTo(dest);
LOGGER.info("上传成功");
return "上传成功";
} catch (IOException e) {
LOGGER.error(e.toString(), e);
}
return "上传失败!";
}
}
- 启动程序,然后访问 http://127.0.0.1:8080/goUpload

选择文件,进行上传



以上就是上传图片的过程
请看源码sprinboot文件上传分支
本文介绍如何在SpringBoot项目中结合Thymeleaf实现文件上传功能,包括pom.xml依赖配置、application.properties设置、前端HTML表单编写及后端控制器处理流程。
546

被折叠的 条评论
为什么被折叠?



