【发布时间】: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