首页 > 建站教程 > 编辑器、IDE >  UEditor百度编辑器粘贴本地图片上传并回显正文

UEditor百度编辑器粘贴本地图片上传并回显

UEditor百度编辑器粘贴本地图片上传并回显,我爱模板网的暴力解决方案,但可行:

修改ueditor.all.js:

1、找到粘贴上传的地方,

搜索:

me.execCommand('inserthtml', loadingHtml)

大约24935行,将下面的代码注释:

if (!me.getOpt(filetype + 'ActionName')) {
    //errorHandler(me.getLang('autoupload.errorLoadConfig'));
    return;
}

2、修改上传地址

搜索:

url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + params);

替换成:

url = 你的上传地址

3、修改上传参数:

将下面的:

fd.append(fieldName, file, file.name || ('blob.' + file.type.substr('image/'.length)));
fd.append('type', 'ajax');

按需求改成你的参数,如:

fd.append("file", file , file.name || ('blob.' + file.type.substr('image/'.length)));

4、修改请求头:

xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

按需求改成:

let token = localStorage.getItem('TOKEN')
if (token) {
    if(token) {
        token = JSON.parse(token).content
    }
    xhr.setRequestHeader('Authorization', token)
} else {
    xhr.setRequestHeader('Authorization', 'Basic dnVlOnZ1ZQ==')
}

5、修改上传成功后的返回:

xhr.addEventListener('load', function (e) {
    try{
        var json = (new Function("return " + utils.trim(e.target.response)))();
        console.log(json)
        if (json.state == 'SUCCESS' && json.url) {
            successHandler(json);
        } else {
            errorHandler(json.state);
        }
    }catch(er){
        errorHandler(me.getLang('autoupload.loadError'));
    }
});

修改为

xhr.addEventListener('load', function (e) {
    try{
        var json = (new Function("return " + utils.trim(e.target.response)))();
        if (json.status === 200 && json.data) {
            successHandler(json);
        } else {
            errorHandler(json.message);
        }
    }catch(er){
        errorHandler(me.getLang('autoupload.loadError'));
    }
});

同时修改successHandler,一共两处,否则图片无法回显。其实修改不难,主要是找了半天。