umeditor word文档图片粘贴-自动上传到服务器

参考:

主要参考:http://www.ishenping.com/ArtInfo/1193349.html

https://www.cnblogs.com/baiyygynui/p/8463771.html

https://blog.csdn.net/fyw_wu/article/details/80680661
https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/append

https://www.jb51.net/article/147092.htm

 

http://www.it165.net/DWeb/html/201601/4384.html

转载后,简单改编为支持自动上传到服务器

umeditor.js下面代码中:(红色地方)

 me.addListener('ready', function () {
        if (window.FormData && window.FileReader) {
            var autoUploadHandler = function (e) {
                debugger;
                 var hasImg = false,
                    items;
                //获取粘贴板文件列表或者拖放文件列表
                items = e.type == 'paste' ? getPasteImage(e.originalEvent) : getDropImage(e.originalEvent);
                if (items) {
                    var len = items.length,
                        file;
                    while (len--) {
                        file = items[len];
                        if (file.getAsFile) file = file.getAsFile();
                        if (file && file.size > 0 && /image\/\w+/i.test(file.type)) {
                            sendAndInsertImage(file, me);
                            hasImg = true;
                        }
                    }
                    if (hasImg) return false;
                } 
                else{

           // word里面的图片不会当做图片,而是text/plain, 用getPasteImage 获取不到

 / /todo 目前只是支持单个图片,不包含文字的,支持图片的,需要再修改下代码。稍等。
                    var text = e.originalEvent.clipboardData.getData("text");
                    if(text == ""){
                    var items=e.originalEvent.clipboardData.items;
                     for (var i = 0, len = items.length; i < len; i++) {
                        var item = items[i];
                       if ( item.kind == 'file' && item.type.indexOf('image/') !== -1 ) {
                        
                            if (item.getAsFile) file = item.getAsFile();
                              var blob = item.getAsFile();
                                  sendAndInsertImage(blob,me); //上传到服务器 
                              //阻止默认事件, 避免重复添加;
                              e.originalEvent.preventDefault();
                             };
                        }
                    }

                }

            };
            me.getOpt('pasteImageEnabled') && me.$body.on('paste', autoUploadHandler);
            me.getOpt('dropFileEnabled') && me.$body.on('drop', autoUploadHandler);

            //取消拖放图片时出现的文字光标位置提示
            me.$body.on('dragover', function (e) {
                if (e.originalEvent.dataTransfer.types[0] == 'Files') {
                    return false;
                }
            });
        }
    });
 

word中的图片是没问题,但是如果是图文混在一起的话,里面的文件就不是file类型,file.getAsFile 就获取不到,只能通过e.originalEvent.clipboardData.getData('text/html') 获取到html,不过里面的文件的地址是本地路径,还是有问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
插件详细说明地址https://blog.csdn.net/viqecel/article/details/79670613 =========================================== 一,后台网站设置. 选择ueditor 二,修改member\editor\ueditor\ueditor.config.js 366行 的 a: ['target', 'href', 'title', 'class', 'style'], 修改为 a: ['target', 'href', 'title', 'class', 'style', 'name'], 403行的 img: ['src', 'alt', 'title', 'width', 'height', 'id', '_src', 'loadingclass', 'class', 'data-latex'], 修改为 img: ['src', 'alt', 'title', 'width', 'height', 'id', '_src', 'loadingclass', 'class', 'data-latex','anchorname','word_img','style'], 三,修改member\editor\ueditor\init.inc.php 注释掉25行 即 $editor .= 'serverUrl:UPPath+"?from=editor&moduleid;='.$moduleid.'",'; 然后.查找 'fullscreen', 批量替换为 'fullscreen', 'wordimage' 其实就是在后面增加 转存按钮 四,把百度编辑器ueditor目录中的php文件复制到系统对应目录中 即保证 member\editor\ueditor\php\controller.php 这个 控制器文件可访问 然后修改controller.php 文件 第4行 把Chongqing首字母设置为大写] 即 date_default_timezone_set("Asia/Chongqing"); 五,修改图片上传保存目录.即php/config.json 即 11行 替换为绝对路径,你的首页网站地址直接填这即可,后面不加斜线,这里如果不加绝对路径.则没法自动读取第一个图片为标题图片. "imageUrlPrefix": "这里修改为你的网站首页网址不加后斜线", 12行替换为下面一行. 即修改图片保存路径,与原系统一致即可 "imagePathFormat": "/file/upload/{yyyy}{mm}/{dd}/{time}{rand:2}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ 后台系统维护,点击更新所有缓存,ctrl+f5强制刷新后台

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值