无论如何使用javascript(或类似jquery)获取图像文件大小

喜欢:

 

我想得到logo1w.png文件大小7.3kb

怎么实现呢?

看看这个: 通过Javascript确定图像文件大小+尺寸?

您可以对图像URL执行HTTP HEAD请求。 这将返回HTTP标头,其中包括内容长度(也称为文件大小)。 这确实需要对服务器的附加请求,这在生成图像而不是静态服务时效率不高。

我不知道有任何一种方法可以始终如一地获得确切的文件大小,但如果你愿意跳过一些箍,你可以:

1)根据尺寸和文件类型估算。 由于压缩技术有一些广泛的变化,但你可能会运行一些统计数据,并提出一个半体面的启发式。

2)在IE中,使用图像的fileSize属性。 在其他支持Canvas的浏览器中,使用此问题中描述的技术获取JavaScript中的图像数据以获取dataURL,然后进行数学运算(乘以3/4,因为base64的大小增加了4/3)。

编辑

3)其他人给出的建议(特别是在Fabien Bernede回答的问题中详细说明)关于获取HTTP标头的建议非常精确。 在某些情况下可能会违反跨域限制,但仍可能是最一致和最有效的方法。

你不能在javascript(对不起甚至神奇的jQuery在这里无法帮助!)。 您需要一个服务器端脚本来为您获取图像并计算可以返回到页面的大小。

注意 – downvoters要小心,OP不拥有谷歌域名!

$ fileSize = strlen(file_get_contents($ imageSrcTag))// < - php