猿问

前端js 如果获取一个远程图片(url)的文件大小,在不下载图片的情况下.

如题,前端在不下载图片的情况下,获取图片的大小,这种需求可能实现吗?我们只知道一个远程图片的url.

另外,也可以下载图片,但是图片缓存又是一个问题.不能有任何图片的缓存.
这真是一个刁钻的需求...
目前我收集了以下方法,但是我并不太确定他是否有缓存..

XHR

var xhr = new XMLHttpRequest();
xhr.open('HEAD', 'img/test.jpg', true);
xhr.onreadystatechange = function(){  if ( xhr.readyState == 4 ) {    if ( xhr.status == 200 ) {
      alert('Size in bytes: ' + xhr.getResponseHeader('Content-Length'));
    } else {
      alert('ERROR');
    }
  }
};
xhr.send(null);

此方法存在跨域问题.


哆啦的时光机
浏览 5653回答 2
2回答

慕田峪9158850

http HEAD 了解一下

qq_花开花谢_0

1 head 协议,是从服务器请求文件信息,不是请求文件本身内容2 根据 head 协议,服务器并不会返回 文件内容3 如果之前没有访问过,因为没有返回过文件内容,所以也不存在缓存4 解决缓存这种,加个时间戳的参数就解决了
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答