登录
首页 >  文章 >  php教程

TinyMCE编辑器多图上传效率低怎么办?

时间:2024-12-03 16:18:50 348浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《TinyMCE编辑器多图上传效率低怎么办?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

TinyMCE编辑器多图上传效率低怎么办?

tinymce 编辑器多图上传批量处理

使用 tinymce 编辑器时,通过 axupimgs 插件实现多图上传,但插件每次只上传一张图片,导致接口调用频率过高。针对此问题,本文提供了批量上传图片的解决方案。

按照官方文档,我们可以使用 images_upload_handler 参数处理图片上传后的操作。传入图片的 blob 对象并返回一个 promise,resolve 后,将上传成功的地址传进去。

以下代码给出了具体实现方案:

  • 保存选择的文件和 promise 的 resolve 方法。
  • 提供一个 doupload 函数,通过 formdata 上传文件,并调用对应的 resolve 方法完成上传。

关键在于将后端的批量上传响应与前端的 resolve 逐一对应起来。以下示例代码展示了完整实现:

const files = [];
const tasks = [];

function uploadImages (blob, progress) {
  // 保存待上传文件
  files.push(blob);
  return new Promise(function (resolve) {
    // 保存 Promise 的 resolve 方法
    tasks.push(resolve);
  })
}

function doUpload () {
  const _files = files.slice();
  const _tasks = tasks.slice();
  files.length = 0;
  tasks.length = 0;

  const formData = new FormData();
  _files.forEach((file, index) => formData.append(`files[${index}]`, file));

  fetch('/image', {
    method: 'post',
    body: formData
  }).then(resp => resp.json()).then(result => {
    // 上传成功后的处理
    _tasks.forEach((task, index) => {
      task(result.uploaded[index]);
    })
  })
}

通过此方案,可以批量将图片上传到后端,并有效控制接口调用频率。

以上就是《TinyMCE编辑器多图上传效率低怎么办?》的详细内容,更多关于的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>