第一个 arg 必须是 Blob 对象或 File 对象。图像压缩器

First arg must be a Blob object or a File object. Image compressor

我正在制作图像压缩器。在图像中,您可以看到一个简单的设计,其中有一个龙滴来填充您的文件。但是我想下载图片时总是出现一个错误(如下所示)。

[这是我目前所得到的。][1] [1]: https://i.stack.imgur.com/2RJ3v.png

这是我的下载功能,但是当我按下按钮下载时,我不断收到 1 个错误

  function download(file, res) {
    console.log(file);
    var fdata = new FormData()
    fdata.append('upload_preset', 'image_name')
    fdata.append('file', file)
    // converts the picture and instant download the new image.
    imageConversion.compressAccurately(file, 50).then(res=>{
      console.log(res)
      imageConversion.downloadFile(res)
    })
  }

错误:

conversion.js:1 Uncaught (in promise) Error: compressAccurately(): First arg must be a Blob object or a File object.

我尝试了很多东西,但我真的想不通。有人知道如何解决这个问题吗?

我明白了。我必须添加一个数组并使文件可用于所有功能。

function handleFiles(files) {
  window.files = files;
  files = [...files];
  files.forEach(previewFile);
}

function download() {
  Array.from(files).forEach((element) => {
    // converts the picture and instant download the new image.
    imageConversion.compressAccurately(element, 50).then((res) => {
      console.log(res);
      imageConversion.downloadFile(res, 'test');
    });
  });
}