我真的对这里发生的事情感到目瞪口呆。
我正在使用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/内容类型是否有问题?
太感谢了。