WEB端获取远程图片的尺寸和大小
一直以来我都以为前端只能读取图片的宽度和高度,以及本地上传图片的大小(通过FileReader),但不能获取到远程图片的大小。
昨天在搜索时突然意识到,http headers中包含Content-Length
参数,这不就是大小吗?!然后立马在console输入$.get(src, function(data, statusText, res){res.getAllResponseHeaders()})
,这不就搞定了嘛!
但是我高兴太早了
Content-Length
!
然后继续分析输出,嘿嘿,**data**不就是图片吗?其长度不就是图片原始大小吗?!
是的,事情就是这个样子的
var img = new Image();
img.onlod = function() { // 先获取长度和宽度(像素)
$.ajax({ // 再获取图片大小(kb)
url: src,
type: ‘GET‘,
processData: false,
complete: function(xhr, statusText) {
console.log(img.width, img.height, xhr.status === 200 ?(xhr.responseText.length/1024).toFixed(2) : 0);
}
});
};
img.src = src;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。