Javascript 当以bas64字符串作为参数调用时,节点gm(imagemagick)似乎无法使用
当图像不是path&是base64编码图像时,我不会得到任何输出图像Javascript 当以bas64字符串作为参数调用时,节点gm(imagemagick)似乎无法使用,javascript,node.js,image,imagemagick,gm,Javascript,Node.js,Image,Imagemagick,Gm,当图像不是path&是base64编码图像时,我不会得到任何输出图像 const image = 'base64 encoded string'; gm(image, ['jpeg']) .resize(72, 72) .strip() .write('./aks.png', function (err) { if (!err) console.log('done'); }); 您需要将Base64字符串转换为: gm(图像)也不起作
const image = 'base64 encoded string';
gm(image, ['jpeg'])
.resize(72, 72)
.strip()
.write('./aks.png', function (err) {
if (!err) console.log('done');
});
您需要将Base64字符串转换为:
gm(图像)也不起作用是的,我需要将Base64字符串转换为缓冲区是正确的。但是,(图像)的类型是“Base64编码字符串”。因此,fs.readFileSync(“input.png”,“base64”);无法工作。我正在处理配置文件图片更新api&我正在从前端获取图像作为base64编码字符串。我必须压缩,调整大小,然后保存到aws s3。我用这种方式修复了它。这就是我的答案。。。
var gm = require("gm");
var fs = require("fs");
var image = fs.readFileSync("input.png", "base64");
gm(Buffer.from(image, "base64"))
.resize(72, 72)
.strip()
.write("output.png", function(error) {
if (error) return console.error(error);
console.log("Done!");
});
const imageBuff = Buffer.from(image, 'base64');
gm(imageBuff)
.resize(72, 72)
.strip()
.write('../curber/newimage.png', function (err) {
if (!err) console.log('done');
else
console.log(err.log, err.stack);
});