编辑器的 jsp\config.json 文件里面有个 imageUrlPrefix 这里指定的是“上传图片访问路径前缀”,即项目根目录,如果是跨域(远程)操作的话,需要写上服务器的公网ip地址和项目名称,否则上传图片的时候会无法显示,因此,我们在不同的器部署的时候都需要做不同的配置,有没有办法让其自动获取到当前项目的路径呢,我这里有一个小方法,和大家分享一下。
编辑 ueditor.all.js
1、里面添加以下JS:
//================开始====================
/**
* 获取项目的根路径
*/
function getRootPath(){
//获取当前网址,如: http://localhost:8080/xxx/xxxxx/xxx/xxxxxxx.jsp
var curWwwPath = window.document.location.href;
//获取主机地址之后的目录,如: /xxx/xxxxx/xxx/xxxxxxx.jsp
var pathName = window.document.location.pathname;
var pos = curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8080
var localhostPath = curWwwPath.substring(0, pos);
//获取带"/"的项目名,如:/xxx
var projectName = localhostPath+pathName.substring(0, pathName.substr(1).indexOf('/') + 1)+"/";
return projectName;
}
var rootUrl = getRootPath();
//================结束====================
2、搜索 "link = me.options.imageUrlPrefix + json.url" ,将其替换成以下写法:
link = rootUrl + json.url;
OK,如此即可正常访问,只是需要注意一点,如果是在服务器本身访问项目,切记不要使用localhost和127.0.0.1作为ip,一定要使用公网IP,因为编辑器会将这个地址存入数据库,你在服务器本身访问没有问题,但是如果用其他机器访问就访问不到了.