在Nodejs中将base64 png转换为jpeg图像
Convert base64 png to jpeg image in Nodejs
我在 Nodejs 中使用 FabricJS 模块。有一个 Canvas 我想导出为 jpeg
但它不会(给我带来困难)。我得到的只是 base64 png 数据。
开头类似
的数据
data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t.....
nodejs 中是否有我可以将此图像转换为 jpeg 的方法?我在谷歌上搜索了很多,但找不到解决方案
您可以使用 png-to-jpeg 模块。假设 'data' 是字符串形式:
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));
好的,因为我是专业的 Googler(开玩笑),我为您找到了一些东西,首先,您必须安装 ATOB for NodeJS,现在,只需使用它来解码 base64 字符串,像这样:
(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!");
});
}());
其实我没有用过NodeJS,所以不能告诉你更多,希望能解决你的问题!
我在 Nodejs 中使用 FabricJS 模块。有一个 Canvas 我想导出为 jpeg
但它不会(给我带来困难)。我得到的只是 base64 png 数据。
开头类似
的数据data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t.....
nodejs 中是否有我可以将此图像转换为 jpeg 的方法?我在谷歌上搜索了很多,但找不到解决方案
您可以使用 png-to-jpeg 模块。假设 'data' 是字符串形式:
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));
好的,因为我是专业的 Googler(开玩笑),我为您找到了一些东西,首先,您必须安装 ATOB for NodeJS,现在,只需使用它来解码 base64 字符串,像这样:
(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!");
});
}());
其实我没有用过NodeJS,所以不能告诉你更多,希望能解决你的问题!