ueditor使用中遇到的几个问题
1.在ueditor初始化之前,可以设置window.UEDITOR_HOME_URL,指定自己的统一请求路径
window.UEDITOR_HOME_URL = “${ctxStatic}/ueditor/”;
2.自定义上传请求地址
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action) {
if (action == 'uploadimage' || action == 'uploadscrawl' || action == 'uploadimage') {
var url = '${fns:getConfig('upload.url.prefix')}';
return url;
} else if (action == 'uploadvideo') {
return 'http://a.b.com/video.php';
} else {
return this._bkGetActionUrl.call(this, action);
}
}
action类型以及说明
uploadimage://执行上传图片或截图的action名称
uploadscrawl://执行上传涂鸦的action名称
uploadvideo://执行上传视频的action名称
uploadfile://controller里,执行上传视频的action名称
catchimage://执行抓取远程图片的action名称
listimage://执行列出图片的action名称
listfile://执行列出文件的action名称
3.ueditor多图片上传跨域问题,
图片服务器:http://localhost:8081
应用服务器:http://localhost:8082
在图片服务器后台上传逻辑:
//跨域上传会先发送一个options请求,判断是否允许跨域,然后再发送post或get请求
if("OPTIONS".equals(request.getMethod())) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Headers", "X-Requested-With,X_Requested_With");
return;
}
//第二次请求也需要填写表头,
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "*");
response.setHeader("Access-Control-Allow-Headers", "X-Requested-With,X_Requested_With");
//上传服务逻辑
...
4.自定义请求参数,
/* 传入参数表,添加到已有参数表里 */
ue.ready(function() {
ue.execCommand('serverparam', {
'key': 'value'
});
});