修改kindeditor支持预处理文件上传返回的结果

今天要说的这个问题,可能大部分人认为都不是问题。不过,既然遇到了,就记录一下。

设想这样一个场景,系统中有一个接口是用来上传图片的,图片上传成功后会返回结果和最终保存的图片的地址,比如返回结果如下:{status:1,imgUrl:'xxxx'}。用过kindeditor都知道它的返回结果的格式要求是{error:0,url:'xxxx'},如果想重用已有的上传接口,就不得不改写kindeditor。其实改起来也很简单,在源代码kindeditor-all.js中找到如下一段代码:

var uploadbutton = K.uploadbutton({
button : K('.ke-upload-button', div)[0],
fieldName : filePostName,
form : K('.ke-form', div),
target : target,
width: 60,
afterUpload : function(data) {
dialog.hideLoading();
if (data.error === 0) {
var url = data.url;


在if(data.error===0)的前面添加一个你要预处理返回值的逻辑。假设我这里把这个方法叫做parseOfUploadImg,那么我的代码就会是这样:

var uploadbutton = K.uploadbutton({
button : K('.ke-upload-button', div)[0],
fieldName : filePostName,
form : K('.ke-form', div),
target : target,
width: 60,
afterUpload : function(data) {
dialog.hideLoading();
if(self.parseOfUploadImg){
data = self.parseOfUploadImg.call(self,data);
}
if (data.error === 0) {
var url = data.url;

ok,已经改好了,在用的时候只需要在创建富文本框时的options中写上parseOfUploadImg这样一个函数用来预处理返回结果.比如:

{

....

parseOfUploadImg:function(data){

return {error:data.status,url:data.imgUrl};

}


....

}


大功告成:)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值