之前有个小朋友问我百度UEditor怎么自定义服务端上传地址, 正好也用过,现在做下笔记吧。
在ue实例化的时候你服务端上传的请求地址赋值给serverUrl
var ue;
ue = UE.getEditor('editor', {
toolbars: [ //这个是工具栏配置,自己定义和今天主题无关
[
'fullscreen', 'source', '|', 'undo', 'redo', '|',
'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|',
'rowspacingtop', 'rowspacingbottom', 'lineheight', '|',
'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',
'directionalityltr', 'directionalityrtl', 'indent', '|',
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',
'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',
'simpleupload', '|', 'pagebreak', 'template', 'background', '|',
'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',
'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',
'preview'
]
],
serverUrl: 'http://your-server-address' //这里是你服务端上传的请求地址
});
在上面自定义了服务端地址之后,我们刷新页面,ue实例化的时候会自动请求你的地址并且带着query参数,大概是这样:http://your-server-address?action=config
。这是ue实例化会请求配置文件,简单点你可以直接返回ue插件文件夹中ueditor/1.4.3.3/php/config.json
的内容就可以了。当然了具体配置你是可以自己按自己需求改动。
接下来上传图片,随便上传一张图片,会发现ue的请求地址是http://your-server-address?action=uploadimage
。这样是不是恍然大悟:
action参数是config,你就给他返回配置内容; action参数是uploadimage就是图片上传,你就保存图片文件,返回成功或者失败的结果。
上传结果返回格式是这样的:
失败的情况
{
"state": "Failed",
"msg": "error msg"
}
成功的情况
{
"state": "SUCCESS",
"msg": "ok",
"original": "aaa.jpg", //图片源文件名
"type": ".jpg", //图片后缀
"size": 10240000, //图片大小
"title": "aaa", //图片img标签上的属性title
"url": "/upload/fsf3r.jpg" //图片上传之后的url
}
好了就这样
评论