首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quill 1.3.6,将所有图片粘贴到编辑器时上传

Quill 1.3.6,将所有图片粘贴到编辑器时上传
EN

Stack Overflow用户
提问于 2018-08-04 18:45:16
回答 1查看 1.7K关注 0票数 0

我需要在粘贴富文本(HTML)时上传所有图像,然后用从upload API中获取的urls替换它们的urls。所以我试了一下:

代码语言:javascript
复制
const Delta = Quill.import('delta');
this.quill.clipboard.addMatcher('img', async (node, delta) => {
  console.log(node, delta);
  const url = await new Promise(resolve => {
    // upload image
    this.props.uploadImageURL({ url: delta.ops[0].insert.image }).then(res => {
      if (res.success) {
        resolve(res.data.path)
      } else {
        resolve('')
      }
    }, () => { resolve('') })
  });

  if (url) {
    return {
      ops: [{
        insert: {
          image: url
        }
      }]
    };
  } else {
    return new Delta();
  }
});

然后出现错误:

谁能帮我?

EN

回答 1

Stack Overflow用户

发布于 2018-12-11 18:29:57

在这一点上,您似乎不能使用异步匹配器函数。

以下是不带异步的简化工作示例。一旦您尝试返回一个promise (异步),这将失败:

代码语言:javascript
复制
const Delta = Quill.import('delta');
quill.clipboard.addMatcher('img', (node, delta) => {
  console.log(node, delta);
  const url = 'http://www.placehold.it/666x333.jpg';

  return new Delta().insert({image: url});

});

因此,似乎你需要找到一种同步的方式来替换图像。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51684797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档