不多说,直接上代码 现在view中实例化UE之前加上一段js自定义接口路径,此处是tp5的示例
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action) {
if (action == 'uploadimage') { //上传图片
return "{:url('Worker/Seo/UploadImg',array('action'=>'uploadimage'))}";
} else if(action == 'config') { //加载配置
return this._bkGetActionUrl.call(this, action);
}
}
var ue = UE.getEditor('ueditor',{
zIndex:1,
initialFrameHeight: 400,
});
ue.addListener("ready", function () {
// editor准备好之后才可以使用
ue.execCommand('inserthtml','{$data.content|default=""}');
});
后台代码
public function UploadImg()
{
$action = $this->request->param('action');
if($action != 'uploadimage') {
return json(array('state'=>$action));
}
$path = __SAVEPATH__ . 'ueditor/';
$orgin_file = $_FILES['upfile'];
$file = $this->request->file('upfile');
$info = $file->validate(['size'=>$this->maxSize,'ext'=>$this->ext])->move($path);
if($info == false) {
// 上传错误提示错误信息
return json(['state'=>$file->getError()]);
}else {
// 上传成功 获取上传文件信息
return json(['state'=>'SUCCESS', 'url'=>$this->savePath .'ueditor/'. $info->getSaveName(), 'title'=>$info->getFilename(), 'type'=>$info->getExtension(),'original'=>$orgin_file['name'],'size'=>$orgin_file['size']]);
}