百度Ueditor设置图片不同的上传路径/自动切换载入不同配置(php版)

10 篇文章 0 订阅
9 篇文章 0 订阅

Ueditor提供的功能比较多,但是服务器参数配置文件默认只读取一个文件,搜了一圈也没有方法设置能通过前端js来导入上传路径等配置。

 

如果想让ueditor的上传器在同一个网站不同的页面可以利用ueditor上传到不同文件夹里,可以考虑以下方式:

(以下修改基准均为1.4.3.3版最后提供的php服务器端文件,后台登录验证还有token什么的还是要自己加加,不然有安全问题)

方法一:

1、config.json复制一份,并修改复制文件的 imagePathFormat参数为新的上传文件夹地址,

2、ueditor.config.json 复制一份 ,修改其 serverUrl 参数确定新的control.php的地址

3、control.php复制一份,修改其第20行附近的参数,确定config.json的地址

$CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents("config.json的地址")), true);

4、在前端页面创建初始化页面时引用不同的ueditor.config.json复件。

这种方法应付偶尔1、2个不同的上传文件夹或者不同配置是有效的,但是如果有多种不同细微的配置需求,文件为3倍数量的增长,不是良好的方法。

方法二:

前提知识:

ueditor.config.json 配置的是前端编辑器的参数,这个可以通过前端页面初始化编辑器时

UE.getEditor(id,opt)

传入json格式数据 即opt来覆盖修改。

config.json配置的是后台服务器相关参数,普通方式是无法修改的。从安全和易用的两个角度考虑,为了可以方便的载入不同的config.json,采取以下步骤:

步骤1

在contorl.php 第二十行左右代码

$action = $_GET['action'];

下添加如下代码,作用是新增一个get接受参数other,如果设置了$other的值,通过$otherConfigArr表(可以自己配置其他的config.json路径。注意不是ueditor.config.json,而是config.json)的映射,来载入不同的配置:

//自己新增:自定义多个config的路径
$otherConfigArr=[
    'oa'=>'config/config.upload_oa_image.json',
    'special'=>'config/config.upload_special_image.json'
];
if(isset($_GET['other'])&&isset($otherConfigArr[$_GET['other']])){
    $other=$otherConfigArr[$_GET['other']];
    $otherCONFIG=json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents($other)), true);
    $CONFIG=array_merge($CONFIG,$otherCONFIG);
}
//新增完毕

步骤2:

在ueditor.all.js 第8030行附近的代码

if(serverUrl) {
    serverUrl = serverUrl + (serverUrl.indexOf('?') == -1 ? '?':'&') + 'action=' + (actionName || '');

的下面新增一行代码:

   serverUrl = serverUrl + '&other=' + (this.getOpt('other_config_type') || '');

步骤3:

新增一个config.upload_oa_image.json,里面只需要写入一句代码:

{  "imagePathFormat": "/upload/image/oa/{filename}"}

imagePathFormat是ueditor标准配置项,配置的是图片上传的文件夹和文件名格式。这里只填一项,覆写这个参数即可。

当然如果你想覆写其他参数也可以,比如imageManagerListPath是指设置某个路径,使得在线管理页面,列出设置的路径下的所有图片。

步骤4:

在前端初始化编辑器时传入

UE.getEditor('container',{'other_config_type':'oa'});

这里的'oa'就能对应步骤一中$otherConfigArr的键值地址,载入步骤三的config.upload_oa_image.json,覆写了原来config.json文件的imagePathFormat配置项。从而实现前端安全的调用不同配置文件,满足不同的配置需求。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值