Node.js NodeJS:如何使用base64图像的图像大小?

Node.js NodeJS:如何使用base64图像的图像大小?,node.js,npm,base64,image-size,Node.js,Npm,Base64,Image Size,我找到了节点模块,想用它来获取base64编码图像的尺寸。本教程提供了以下获取尺寸的示例: var sizeOf = require('image-size'); var dimensions = sizeOf('images/funny-cats.png'); console.log(dimensions.width, dimensions.height); 在第二个答案的评论中,有人写道它也适用于base64图像。因此,我尝试了以下方法: var img = Buffer.from(bas

我找到了节点模块,想用它来获取base64编码图像的尺寸。本教程提供了以下获取尺寸的示例:

var sizeOf = require('image-size');
var dimensions = sizeOf('images/funny-cats.png');
console.log(dimensions.width, dimensions.height);
在第二个答案的评论中,有人写道它也适用于base64图像。因此,我尝试了以下方法:

var img = Buffer.from(base64, 'base64');
var dimensions = sizeOf(img);
console.log(dimensions.width, dimensions.height);
但是我得到一个TypeError:不支持的文件类型:undefined(文件:undefined)

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

试试这个

var img = Buffer.from(base64.substr(23), 'base64');
var dimensions = sizeOf(img);
console.log(dimensions.width, dimensions.height);
substr(23)
切断
数据:图像/jpeg;base64,
,这是从base64数据正确创建
缓冲区所必需的。

试试这个

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

substr(23)
切断
数据:图像/jpeg;base64,
,这是从base64数据正确创建
缓冲区所必需的。

是否声明了base64变量?是的。抱歉,这只是代码的片段。变量被传递给函数并且有效(已测试)。是否声明了base64变量?是。抱歉,这只是代码的片段。变量被传递给函数并且是有效的(已测试)。最好使用base64.split(“;base64').pop(),因为它可以是png图像,在这种情况下,您应该使用substr(22)。在这种情况下,最好使用base64.split(“;base64').pop(),因为它可以是png图像,在这种情况下,您应该使用substr(22)