zoukankan      html  css  js  c++  java
  • word图片上传到服务器

    参考:http://blog.ncmem.com/wordpress/2019/08/07/word%e5%9b%be%e7%89%87%e4%b8%8a%e4%bc%a0%e5%88%b0%e6%9c%8d%e5%8a%a1%e5%99%a8/

     

     

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

     

    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;

                    }

                });

            }

        });

     

  • 相关阅读:
    homebrew 安装 mpv
    Spring JdbcTemplate 两种方法的区别
    git .gitignore失效的解决办法
    git 分支修改bug应用场景
    url编码实践
    escape encodeuri encodeURIComponent 区别
    mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
    服务器病毒问题解决- 阿里云 挖矿病毒,Circle_MI.png
    trim和replace的陷阱实践
    mysql 5.7.15 union order by 子查询排序不生效
  • 原文地址:https://www.cnblogs.com/songsu/p/11302751.html
Copyright © 2011-2022 走看看