node.js - NodeJS:如何将图像大小与 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(base64, 'base64');
var dimensions = sizeOf(img);
console.log(dimensions.width, dimensions.height);
但我得到一个 TypeError: unsupported file type: undefined (file: undefined)
如何将 image-size 包的 sizeOf-Method 与变量中的 base64 字符串一起使用?
解决方案
试试这个
var img = Buffer.from(base64.substr(23), 'base64');
var dimensions = sizeOf(img);
console.log(dimensions.width, dimensions.height);
substr(23)
cut off ,这是从您的 base64 数据data:image/jpeg;base64,
正确创建 a 所必需的。Buffer
推荐阅读
- deployment - Travis CI:如何有条件地运行提供者部署作业?
- .net - 如何在c#中的Web浏览器控件中单击html提交按钮后获取重定向url?
- jquery - 如何在 AJAX 插入为 Flash 消息后加载部分视图
- vue.js - 如何在 Vue.js 中使用 vue-google-charts 包装器创建谷歌折线图?
- c++ - 当用户输入在C++中为“q”时如何退出do-while循环
- jsdom - 为什么 jsdom 将我的属性 *values* 设置为全小写?
- android - 将按钮添加到 ExpandableListView 上的所有子项
- android - 如何在启动片段后使活动不可见并在完成后返回?
- python - Python Popen 编译 Java
- firebase - 从 Xamarin.iOS 文件修改 Xamarin.Forms 页面