编辑器的 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,因为编辑器会将这个地址存入数据库,你在服务器本身访问没有问题,但是如果用其他机器访问就访问不到了.