【发布时间】:2013-08-20 10:49:42
【问题描述】:
我想知道使用 js 或 jquery 如何在加载图像后获取图像的大小(字节、KB、MB)。我不想使用任何 ajax 或发送任何额外的 http 请求。就像我们使用 $("#imageId").height() 一样,我们如何获取内存大小?
【问题讨论】:
-
您需要的数字有多准确?您是否需要实际的内存使用或文件大小(不同)。将高度乘以宽度乘以每个像素的字节数(通常为 4)将为您提供粗略的内存大小,但大多数图像文件都是压缩的。文件大小需要来自服务器。
-
@HiTechMagic 如果我得到 95% 的正确结果就可以了。不需要确切的。我应该接受你的 height*width*4 想法吗?
-
这取决于你所说的内存大小,正如上面的评论所指出的那样。实际内存大小(如位图大小)将是该数字,而实际占用的 RAM 内存可能因压缩而有所不同;我不是专家,但我认为图像被压缩保存在内存中,并且在发送到显示设备之前仅解压缩为位图。
-
@AlexPaven 我想要在图像的属性选项卡后找到的尺寸。
-
假设 IE,该大小是文件的大小,除非使用一些自定义浏览器 API 或发出额外的 HEAD 请求或通过 JS 加载所有图像(正如我在下面提到的),否则无法可靠地找到该大小,据我所知。编辑:在 IE 上有 fileSize 属性,但我认为其他浏览器没有对应的属性
标签: javascript jquery html