图像Blob>上传后是其大小的50倍

Image Blob is >50 times its size after upload

本文关键字:50倍 Blob gt 图像      更新时间:2023-09-26

我真的被这里发生的事情惊呆了。

我正在使用Preprocess.js来调整/压缩前端的图像。除此之外,在image.onload(第32行)的processfile()函数中,我将toDataURL()字符串转换为Blob,因此我可以将其作为文件对象发送到API。为此,我使用dataURItoBlob函数。我最终得到了这个:

  image.onload = function() {
    var resized = resizeMe(image, fileinput, max_width, max_height);
    var blob = dataURItoBlob(resized);
    eventImages[0] = blob;
  }

然后我将eventImage的内容发送到API。

现在,这很有效。它调整图像大小/压缩图像,将其发送到API(成功响应),我可以在网页中看到输出图像。

然而,在Chrome/Firefox的控制台(资源选项卡)中,图像的权重相当大(Chrome中为8MB,Firefox中为1.5MB)。

更奇怪的是:如果我在网页中加载图像,它的加载就好像它是压缩后的大小一样。但是,如果我从API的直接链接加载它,则需要一段时间才能加载和显示(就像加载8MB/1.5MB的数据一样)。

这是怎么回事?都在前端吗?浏览器、API或MIME/内容类型是否出现故障?

非常感谢。

错误已修复。这是由于API方面的服务器回归。上面的代码都很好。谢谢