springboot TinyMCE富文本上传图片的案例
时间: 2023-10-19 11:19:07 浏览: 91
1. 添加依赖
在pom.xml文件中添加 TinyMCE 和 commons-fileupload 依赖:
```xml
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>tinymce</artifactId>
<version>5.2.2</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
```
2. 添加配置
在application.properties文件中添加以下配置:
```properties
# 设置上传文件的最大限制为10MB
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
```
3. 添加Controller
创建一个Controller来处理上传图片的请求:
```java
@RestController
@RequestMapping("/api")
public class ImageUploadController {
@PostMapping("/upload")
public String uploadImage(@RequestParam("file") MultipartFile file) throws IOException {
// 获取上传的文件名
String fileName = file.getOriginalFilename();
// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
// 生成文件名(使用UUID保证文件名唯一)
String newFileName = UUID.randomUUID().toString() + suffixName;
// 设置图片保存的路径
String filePath = "C:/uploads/";
// 创建文件对象
File dest = new File(filePath + newFileName);
// 如果目录不存在就创建目录
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}
// 将上传的文件保存到目标路径下
file.transferTo(dest);
// 返回图片的URL地址
return "/uploads/" + newFileName;
}
}
```
4. 修改TinyMCE配置
在页面中引入TinyMCE,并设置上传图片的URL地址:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TinyMCE富文本编辑器</title>
<script src="/webjars/tinymce/5.2.2/tinymce.min.js"></script>
<script>
tinymce.init({
selector: 'textarea',
plugins: 'image',
toolbar: 'image',
images_upload_url: '/api/upload',
images_upload_credentials: true,
automatic_uploads: true
});
</script>
</head>
<body>
<textarea></textarea>
</body>
</html>
```
5. 测试
启动应用,访问页面,在富文本编辑器中点击上传图片按钮,选择一张图片并上传。上传完成后,图片将会显示在编辑器中。同时,你可以在C:/uploads/目录下找到刚刚上传的图片。
阅读全文