百度ueditor编辑器动态获取项目根目录

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

转载于:https://blog.51cto.com/1197822/2157191

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值