我想知道如何使用HTML/JS从“img”标签的“src”获取以字节为单位的大小。
<img src="https://ofbuckleyandbeatles.files.wordpress.com/2011/01/testpattern.gif"/>
在上面的示例中,我基本上想知道“testpattern.gif”有多大(以字节为单位)。提前致谢。
我想知道如何使用HTML/JS从“img”标签的“src”获取以字节为单位的大小。
<img src="https://ofbuckleyandbeatles.files.wordpress.com/2011/01/testpattern.gif"/>
在上面的示例中,我基本上想知道“testpattern.gif”有多大(以字节为单位)。好的,现在是2017年,您可以使用资源计时API在Javascript中提取图像的transferSize、encodedBodySize和decodedBodySize:
以下是访问页面上所有图像大小信息的代码(请注意下面的小细节):
var imgElems = document.getElementsByTagName('img');
for ( var i=0, len = imgElems.length; i < len; i++ )
{
var url = imgElems[i].src || imgElems[i].href;
if (url && url.length > 0)
{
var iTime = performance.getEntriesByName(url)[0];
console.log(iTime.transferSize); //or encodedBodySize, decodedBodySize
}
}
document.getElementsByTagName('script')
或者除了 img
之外的其他内容吗? - user985399很遗憾,提出的解决方案不可行,因为返回的值与图像实际大小不匹配。
假设您正在使用URL,可以执行以下操作:
const fileImg = await fetch(URL_TO_IMG).then(r => r.blob());
这会通过HTTP获取资源,并将完整的二进制数据作为blob对象返回,然后你可以访问它的属性,包括其以字节为单位的大小:
fileImg.size