ueditor的使用

图片上传

ueditor的图片、文件等上传采用的是统一的url和不同的请求参数值。 如果和现有的文件上传系统对接,需要改变ueditor的文件上传和返回的处理逻辑。
  1. 修改ueditor.config.js

        //服务器统一请求接口路径
        , serverUrl: '/qyhmanager/file/upload/single'
        //图片上传配置区
        , imageUrl: "/qyhmanager/file/upload/single"             //图片上传提交地址
        , imageUrlPrefix: ""
        //, imagePathFormat: "qyhmanager/file/download/{node}/{date}/{time}/{name}"                    //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
        , imageFieldName: "file"                   //图片数据的key,若此处修改,需要在后台对应文件修改对应参数
        , imageActionName: "uploadFile"  //修改ueditor.all.js 根据imageActionName返回不同的imagePath上传路径
  1. 修改ueditor.all.js
修改getActionUrl方法,对图片上传action的判断,返回图片上传的url
      getActionUrl: function (action) {
                var actionName = this.getOpt(action) || action,
                    imageUrl = this.getOpt('imageUrl'),
                    serverUrl = this.getOpt('serverUrl');

                if (action == "uploadimage") {
                    return imageUrl;
                }


                if (!serverUrl && imageUrl) {
                    serverUrl = imageUrl.replace(/^(.*[\/]).+([\.].+)$/, '$1controller$2');
                }

                if (serverUrl) {
                    serverUrl = serverUrl + (serverUrl.indexOf('?') == -1 ? '?' : '&') + 'action=' + (actionName || '');
                    return utils.formatUrl(serverUrl);
                } else {
                    return '';
                }
            }
修改响应结果,增加文件上传结果和ueditor支持结果的转换
 function callback() {
                        try {
                            var link, json, loader,
                                body = (iframe.contentDocument || iframe.contentWindow.document).body,
                                result = body.innerText || body.textContent || '';
                            json = (new Function("return " + result))();
                            console.log('json', json)
                            json = changeDataToJson(json)
                            console.log('json', json)

                            link = me.options.imageUrlPrefix + json.url;
                            if (json.state == 'SUCCESS' && json.url) {
                                loader = me.document.getElementById(loadingId);
                                loader.setAttribute('src', link);
                                loader.setAttribute('_src', link);
                                loader.setAttribute('title', json.title || '');
                                loader.setAttribute('alt', json.original || '');
                                loader.removeAttribute('id');
                                domUtils.removeClasses(loader, 'loadingclass');
                                console.log('loader', loader)
                            } else {
                                showErrorLoader && showErrorLoader(json.state);
                            }
                        } catch (er) {
                            showErrorLoader && showErrorLoader(me.getLang('simpleupload.loadError'));
                        }
                        form.reset();
                        domUtils.un(iframe, 'load', callback);
                    }

                    function changeDataToJson(json) {
                        var object = {
                            "original": '', "size": '',
                            "state": '', "title": '', "type": '',
                            "url": ''
                        };

                        var _json = json;
                        if (json.status == 2000) {
                            object.state = 'SUCCESS'
                            object.url = json.result.file_url
                        }

                        return object;
                    }

ueditor常见问题

  1. 工具栏中的下拉框展示不出来
    z-index设置的值小于页面中其它部分的值,被遮住了。
    修改工具栏z-index的基础值。
修改ueditor.config.js中的zIndex属性值
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值