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