You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Axios发送GET请求时仅返回图片头而非图片数据可行吗?

用Axios校验图片有效性(仅获取响应头)

完全可以用Axios实现你的需求,不用换其他库——只需要把原来的GET请求换成HEAD请求就行。

HEAD请求的特性就是只返回响应头,不传输响应主体数据,刚好能满足你校验图片是否有效、获取头信息(比如图片大小)的需求,还能避免下载大体积图片,大幅提升测试速度。

修改后的代码如下:

await axios.all(allImagesURLs.map(imageURL => axios.head(imageURL)))
  .then((responses) => {
    for (const response of responses) {
      expect.soft(response.status).toBe(200);
      // 若需要获取图片大小,直接从响应头读取content-length字段
      const imageSize = response.headers['content-length'];
      if (imageSize) {
        console.log(`图片大小:${imageSize} 字节`);
      }
    }
  })
  .catch(err => {
    console.log(err);
  });

补充说明:

  • HEAD请求的响应状态码和对应GET请求一致,返回200就说明图片资源存在且可正常访问;
  • 响应头里的content-length字段对应图片的字节大小,直接读取即可;
  • 个别服务器可能不支持HEAD请求,这种情况可以退而求其次,用GET请求并配置responseType: 'stream',然后立即取消请求,但HEAD仍是最优方案。

内容的提问来源于stack exchange,提问作者heyooo12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:05:46