【问题标题】:Image Blob is >50 times its size after upload上传后图像 Blob 的大小 > 50 倍
【发布时间】:2015-06-08 13:16:58
【问题描述】:

我真的对这里发生的事情感到目瞪口呆。

我正在使用Preprocess.js 在前端调整/压缩图像的大小。除此之外,在 image.onload 的 processfile() 函数中(第 32 行),我将 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/内容类型是否有问题?

谢谢一百万。

【问题讨论】:

    标签: javascript image blob todataurl


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      • 2013-10-29
      • 1970-01-01
      • 2018-09-11
      • 2012-09-07
      相关资源
      最近更新 更多