凉鈊 2023-02-12 18:45 采纳率: 66.7%
浏览 32
已结题

vue-quill-editor编辑器 图片粘贴是空的

vue-quill-editor 结合秀米,秀米里面图片粘贴时需要做一个上传的功能,
遇到的问题是 图片粘贴过来,拿不到是个空的。
代码如下: listenPaste方法模板挂载后执行的,打印出来的files里面是空的,
请教下还有别的方法上传嘛,例如我截取到图片的地址上传

img

img

  • 写回答

2条回答 默认 最新

  • 快撑死的鱼 2023-02-12 19:27
    关注

    回答不易,求求您采纳哦 感激不尽

    您可以尝试使用 FileReader API 实现图片的读取,代码示例如下:

    listenPaste(e) {
      // 获取粘贴的图片
      let items = e.clipboardData.items;
      let images = [];
      for (let i = 0; i < items.length; i++) {
        if (items[i].type.indexOf("image") !== -1) {
          images.push(items[i].getAsFile());
        }
      }
    
      // 图片读取
      for (let i = 0; i < images.length; i++) {
        let reader = new FileReader();
        reader.readAsDataURL(images[i]);
        reader.onload = e => {
          // 获取读取到的图片数据
          let imageData = e.target.result;
          // 在这里上传图片,可以使用 axios 等请求库
        };
      }
    },
    
    
    

    如果上传成功,就可以在编辑器中插入图片,代码示例如下:

    
    // 在图片上传成功的回调中插入图片
    this.$refs.quillEditor.quill.insertEmbed(index, "image", imageData, "user");
    

    另外,如果您想要截取图片的地址上传,您可以通过正则表达式提取图片的地址,然后进行上传。代码示例如下:

    listenPaste(e) {
      let paste = e.clipboardData.getData("text");
      // 正则表达式提取图片的地址
      let imgReg = /<img.*?(?:>|\/>)/gi;
      let arr = paste.match(imgReg);
      for (let i = 0; i < arr.length; i++) {
        // 提取 src 地址
        let src = arr[i].match(/src=[\'\"]?([^\'\"]*)[\'\"]?/i)[1];
        // 在这里上传图片,可以使用 axios 等请求库
      }
    },
    
    
    

    如果上传成功,您可以在编辑器中插入图片,代码示例如下:

    // 在图片上传成功的回调中插入图片
    this.$refs.quillEditor.quill.insertEmbed(index, "image", src, "user");
    
    
    

    希望这些代码示例能帮到您。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月20日
  • 已采纳回答 2月12日
  • 创建了问题 2月12日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看