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

如何通过Base64编码获取图片的宽度与高度?

获取Base64图片的宽高

你的代码逻辑本身没问题,但大概率是imageData格式不正确,或是缺少错误处理导致无法定位问题。

常见问题及修正方案:

  • Base64字符串缺少必要前缀:必须以data:image/[格式];base64,开头(例如data:image/png;base64,),否则浏览器无法识别为图片资源。
  • 未处理加载失败场景:如果Base64损坏或格式错误,原代码不会给出任何提示,容易误以为逻辑失效。

修正后的代码:

const img = new Image();

img.onload = function() {
  alert(`${this.width}, ${this.height}`);
};

img.onerror = function() {
  alert('图片加载失败,请检查Base64格式是否正确');
};

// 确保imageData包含正确前缀,示例:
// img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==';
img.src = imageData;

额外说明:

  • 如果你的imageData是纯Base64编码内容(不带前缀),需要手动拼接对应格式的前缀,比如data:image/jpeg;base64,或data:image/png;base64,。
  • 图片加载是异步操作,必须在onload回调内获取宽高,不能在设置src后直接读取width和height属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:13:29