开发WEB项目的时候,使用到了Ueditor上传图片的功能,插件会自动将上传的图片保存在tomcat运行目录下,这种保存的方式会导致项目重新发布时丢失,非常不利于后续对图片的操作(管理),这时我们就要修改Ueditor的源码,解决上传图片时的路径问题
官方文档:http://fex.baidu.com/ueditor/
在线API文档:http://ueditor.baidu.com/doc/
GitHub地址:https://github.com/fex-team/ueditor
1.在git上将源码下载,并拷贝到项目中
将解压后的文件拷贝到对应的项目中
java代码
web页面和配置json
2.引入对应的jar包
<!-- ueditor富文本 -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
3.修改Tomcat服务器配置,添加图片映射路径
在本地磁盘中创建图片保存目录
eg:
打开tomcat中conf文件夹中的server.xml文件
在<host>中添加映射目录
<Context docBase="C:\ueditorImages" path="/ueditorImages" reloadable="true"/>
修改config.json配置文件,访问路径填写刚配置的映射目录
4.创建配置文件,并读取配置信息
读配置文件的目的是为了动态修改保存路径,可以更方便的管理图片
创建ueditorConfig.properties配置文件
代码:
package com.baidu.ueditor.utils;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
public class UeditorConfig {
private static Properties pro;
static {
pro = new Properties();
InputStream input = UeditorConfig.class.getClassLoader()
.getResourceAsStream("ueditorConfig.properties");
try {
pro.load(new InputStreamReader(input, "UTF-8"));
} catch (IOException e) {
e.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static String getProperty(String key) {
return pro.getProperty(key);
}
}
5.修改ueditor源码,完善图片存储路径变更功能
接下来我们找到ImageHunter.java, Base64Uploader.java, BinaryUploader.java 这三个java类,
将上传路径修改为我们配置的即可