登录
首页 >  文章 >  php教程

Tinymce多图上传导致接口调用频繁怎么办?

时间:2024-12-16 18:22:04 123浏览 收藏

小伙伴们有没有觉得学习文章很有意思?有意思就对了!今天就给大家带来《Tinymce多图上传导致接口调用频繁怎么办?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

Tinymce多图上传导致接口调用频繁怎么办?

tinymce多图上传请求优化

您在使用tinymce时遇到一个问题,即通过axupimgs插件实施的多图上传导致频繁的接口调用,超出您业务的限制。

要解决这个问题,您可以自定义一个上传处理程序,以批量处理图像上传。以下是具体步骤:

  1. 实现自定义上传处理程序:

检查tinymce文档,您会发现一个名为images_upload_handler的参数,它用于处理选定图像的上传。在这个处理程序中,您可以提供图像的blob对象并返回一个promise。

  1. 批量上传图像:

在您的外部代码中,创建一个files数组来存储选定文件和一个tasks数组来存储promise的resolve方法。

  1. 创建上传函数:

创建一个单独的doupload函数,它使用formdata上传文件。当上传成功时,逐个调用tasks数组中的resolve方法以完成上传。

  1. 示例代码:
const files = [];
const tasks = [];

function uploadimages(blob, progress) {
  files.push(blob);
  return new 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]);
      });
    });
}
  1. 示例测试:
uploadImages('1', 0).then(console.log);
uploadImages('2', 0).then(console.log);
uploadImages('3', 0).then(console.log);

doUpload();

通过实现自定义上传处理程序并采用批量上传技术,您可以优化多图上传过程,减少接口调用次数并符合您的业务限制。

以上就是《Tinymce多图上传导致接口调用频繁怎么办?》的详细内容,更多关于的资料请关注golang学习网公众号!

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