vue 富文本编辑器kindeditor使用粘贴图片自动上传图片功能

Kindeditor 的使用这里不再陈述,在KindEditor.create执行时,传入afterCreate方法,在afterCreate的方法里面进行图片上传的功能,这里使用的谷歌浏览器,其他浏览器没有测试!
在这里插入图片描述

 afterCreateSelf() {
      setTimeout(() => {
        if (this.editor) {
          var editerDoc = this.editor.edit.doc; //得到编辑器的文档对象
          let self = this;
          editerDoc.addEventListener("paste", function (e) {
            // let cbd = e.clipboardData;
            // let ua = window.navigator.userAgent;

            var ele = e.clipboardData.items;

            for (var i = 0; i < ele.length; ++i) {
              if (
                ele[i].kind == "file" &&
                ele[i].type.indexOf("image/") !== -1
              ) {
                e.preventDefault(); //阻止默认动作,没有这句,图片会粘贴在富文本编辑器中
                var file = ele[i].getAsFile(); //得到二进制数据

                var formData = new FormData();
                formData.append("file", file); //name,value
                //uploadImg是封装的上传图片的方法
                uploadImg(formData).then((res) => {
                  let _this = this;
                  if (res.data.code === 0) {
                    let img = res.data.data.url;
                    let image = new Image();
                    image.src = img;
                    image.crossOrigin = "Anonymous";
                    image.onload = function () {
                      self.editor.insertHtml(`<img src="${img}" alt=\"\" />`);
                    };
                  } else {
                    self.$message.error("上传失败!");
                  }
                });
              }
            }
          });
        }
      }, 600);
    },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值