将base64 png转换为Nodejs中的jpeg图像
问题描述:
我正在使用FabricJS模块在Nodejs。有一个画布我试图导出为jpeg
,但它不会(给我一个困难的时间)。我得到的全部数据是base64 png数据。将base64 png转换为Nodejs中的jpeg图像
数据开始像
data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t.....
反正在我可以把这个图像到jpeg的NodeJS?我GOOGLE了很多,但无法获得解决方案
答
您可以使用png-to-jpeg模块。假设“数据”是字符串形式:
const fs = require("fs");
const pngToJpeg = require('png-to-jpeg');
const imgStr = 'data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t.....';
const buffer = new Buffer(imgStr.split(/,\s*/)[1],'base64');
pngToJpeg({quality: 90})(buffer).then(output => fs.writeFileSync("./some-file.jpeg", output));
答
好吧,因为我是一个专业的Google用户(只是kiding),我找到了你,首先,你必须安装ATOB for NodeJS,现在,只用它来的base64字符串解码,像这样:,我没有使用的NodeJS
(function() {
"use strict";
var atob = require('atob');
var b64 = ; //your base64 string
var bin = atob(b64);
var fs = require('fs');
fs.writeFile("./test.jpg", bin, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
}());
其实,所以我不能告诉你更多,我希望它能够解决您的问题!
+0
这是一个用于本地atob函数的polyfill,用于将base64字符串转换为二进制,这不能解决OP询问的问题。 –
这样做的工作。谢谢 – Abhinav