【问题标题】:NodeJS: How to use image-size with base64 image?NodeJS:如何将图像大小与 base64 图像一起使用?
【发布时间】:2019-07-15 05:30:53
【问题描述】:

我找到了节点模块image-size 并想用它来获取base64 编码图像的尺寸。本教程给出了以下获取尺寸的示例:

var sizeOf = require('image-size');
var dimensions = sizeOf('images/funny-cats.png');
console.log(dimensions.width, dimensions.height);

here 在第二个答案的评论中有人写道它也适用于 base64 图像。所以我尝试了以下方法:

var img = Buffer.from(base64, 'base64');
var dimensions = sizeOf(img);
console.log(dimensions.width, dimensions.height);

但我得到一个 TypeError: unsupported file type: undefined (file: undefined)

如何将 image-size 包的 sizeOf-Method 与变量中的 base64 字符串一起使用?

【问题讨论】:

  • 你的base64变量声明了吗?
  • 是的。抱歉,这只是代码的 sn-p。变量传递给函数并且有效(已测试)

标签: node.js npm base64 image-size


【解决方案1】:

试试这个

var img = Buffer.from(base64.substr(23), 'base64');
var dimensions = sizeOf(img);
console.log(dimensions.width, dimensions.height);

substr(23) 切断了data:image/jpeg;base64,,这是从您的 base64 数据正确创建 Buffer 所必需的。

【讨论】:

  • 最好使用 base64.split(';base64,').pop() 因为它可以是 png 图片,在这种情况下你应该 substr(22)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-28
  • 2021-08-31
  • 1970-01-01
  • 2010-12-07
  • 2021-07-19
  • 2012-02-24
  • 1970-01-01
相关资源
最近更新 更多