正文
【插件】thinkphp5+百度编辑器自定义上传
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
1 官方下载sdk
2 在引入编辑器页面。写入js
// 百度编辑器
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function (action) {
if (action == 'uploadimage' || action == 'uploadscrawl') {
return "/alioss/file_upload_ueditor";//这就是自定义的上传地址
} else if (action == 'uploadvideo') {
return '';
} else {
return this._bkGetActionUrl.call(this, action);
}
} var ue = UE.getEditor('article_content', {
zIndex: ,
initialFrameWidth: "100%", //初化宽度
initialFrameHeight: , //初化高度
focus: false, //初始化时,是否让编辑器获得焦点true或false
maximumWords: , removeFormatAttributes: 'class,style,lang,width,height,align,hspace,valign',//允许的最大字符数 'fullscreen',
pasteplain: false, //是否默认为纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴
autoHeightEnabled: true
});
其中
/alioss/file_upload_ueditor
就是我们自定义的上传路径,原理就是拦截百度原来的上传请求,从而到达不修改百度sdk的情况下。实现自定义接口,
返回格式要按照如下:
/**
* 百度编辑器上传图片
*/
public function file_upload_ueditor(){ $file = request()->file(); if (!empty($file) && isset($file['upfile'])) { $alioss_model = model("AliossModel"); $upfile = $file['upfile'];
$file_data = $upfile->getInfo();
$path = 'thumb';
$file_mes = $alioss_model->file_upload($file_data,$path); $img_host_url = Config::get("config_set.img_host_url"); $result = [
'state' => 'SUCCESS',
'url' => $img_host_url.$file_mes['file_path'],
'title' => '图片',
'original' => $file_mes['file_path']
]; return json($result); }else{
return json([
'state' => '文件上传失败'
]);
} }