我对这里发生的事情感到非常惊讶。我使用Preprocess.js调整/压缩前端图像。除此之外,在image.onload(第32行)的processfile()函数中,我将toDataURL()字符串转换为Blob,所以我可以将它作为文件对象发送给API。为此,我使用dataURItoBlob函数。我最终与此:图片Blob上传后大于其尺寸的50倍
image.onload = function() {
var resized = resizeMe(image, fileinput, max_width, max_height);
var blob = dataURItoBlob(resized);
eventImages[0] = blob;
}
然后我发送eventImage的内容到API。
现在,这个工程很好。它调整/压缩图像,将其发送到API(成功响应),并可以在网页中看到输出图像。
尽管如此,Chrome/Firefox的控制台(Resources选项卡)中,图像权重相当大(Chrome中为8MB,Firefox中为1.5MB)。更奇怪的是:如果我在网页中加载图像,它就像加载的大小一样加载。但是,如果我从它的API的直接链接加载它,它需要一段时间才能加载和显示(好像它正在加载8MB/1,5MB的数据)。
这是怎么回事?这一切都在前端?浏览器,API或MIME/Content-type有什么问题吗?
非常感谢。