主题: afterUpload只返回url一个值,请问能否增加其他返回值,比如上传文件的原始文件名
作者: 阿鸡, 发布日期: 2011-12-20 16:45:06, 浏览数: 10240

我看示例uploadbutton.html里uploadbutton的afterUpload是返回error和url 2个值的,

但KindEditor里的afterUpload返回的只有url一个值,

请问这里是否可以通过参数修改使其返回多个值,或者可以自己修改代码来自定义返回的值

作者: 网络游客, 发布日期: 2011-12-20 16:55:55

可以自己定义的,多少都行.
如我的程序(php):
$msg =  '{"error":0,"url":"'.str_replace('/','\/',$file_url).'","urlType":"absolute","title":"标题","icon":"图片图标路径"}';
然后在js那里读取:

data.url 获取路径

data.urlType 获取返回路径类型

其它同理.

回复
作者: 阿鸡, 发布日期: 2011-12-20 20:54:40

回复网络游客:

        可能我说得不大清楚,
        比较一下在编辑器初始化参数说明页面里http://www.kindsoft.net/docs/option.html#afterupload的这段代码:

KindEditor.ready(function(K) {
        K.create('#id', {
                afterUpload : function(url) {
                        alert(url);
                }
        });
});

 

与示例页面http://www.kindsoft.net/ke4/examples/uploadbutton.html的代码:

afterUpload : function(data) {
	if (data.error == 0) {
		var url = K.formatUrl(data.url, 'absolute');
		K('#url').val(url);
	} else {
		alert(data.message);
	}
}

第一段代码,传递给afterUpload的参数直接就是url,无法取得error以及其他自定义的值,
第二段代码,传递的参数data包含了error、url以及其他自定义的内容,

我试过在编辑器初始化参数的afterUpload回调函数里获取error的值或者自定义的值,结果是undifined

回复
作者: 阿鸡, 发布日期: 2011-12-20 21:46:50

自己解决了,将insertfile.js、image.js等上传相关文件内的:

	if (self.afterUpload) {
		self.afterUpload.call(self, url);
	}

改为

	if (self.afterUpload) {
		self.afterUpload.call(self, data);
	}

 

就可以了

回复
作者: chinajpd, 发布日期: 2012-01-03 17:45:20
回复阿鸡:学习了
回复
发表新帖 发表回复