背景
ueditor客户端与UEditorController服务端配合工作时,在上传的同时,ueditor客户端需要向UEditorController服务端传递accessKey,方可通过验证。
方案
使用ueditor的自定义请求参数来解决这个问题,UEditor在上传时携带AccessKey通过服务端的验证。
服务端的验证工作由com.sicheng.upload.fileupload.web.UEditorController来实现。
说明
问:为什么其它上传使用的是token,而这里使用accessKey?
答:因为一个ueditor实例,可上传多张图片,使用ueditor的自定义请求参数,只可为ueditor实例级别设置参数,无法为每一张图片设置一个独立的参数。
token与accessKey的区别
这里的token与accessKey是FDP自已定义的内部名称,token与accessKey核心功能很相似,都可实现验证是否有权限上传图片这一功能,只在细节上有小的区别。
token:一个token只能使用(验证)一次,就作废了。上传5张图,需要5个token。
accessKey:一个accessKey在有效内可一直使用(验证),过期作废。上传5张图,可使用同一个accessKey。
客户端代码
------------------------------------
参考: http://fex.baidu.com/ueditor/#dev-serverparam
自定义请求参数
很多情境下,编辑器与后台通信需要有登录状态,很多时候后台需要额外的参数。 UEditor 自1.4.0版本提供设置额外参数的命令serverparam命令,可动态设置自定义参数表。 在向后台发出请求时,会把参数表以GET方式加到请求里。
另外,编辑器上传使用webuploader插件,在低版本的ie下,浏览器使用Flash形式的上传。 flash发送的请求不带有cookie,这里也需要额外的参数,让后台判断是否登录。
设置自定义参数表
通过serverparam命令设置自定义参数表,有四种调用方式,看下面的例子(下文的ue指编辑器实例):