当使用 bas64 字符串作为参数调用时,node gm (imagemagick) 似乎无法使用

node gm (imagemagick) seems like not working with when invoked with bas64 string as argument

当图像不是路径并且是 base 64 编码图像时,我没有得到任何输出图像。

    const image = 'base64 encoded string';

    gm(image, ['jpeg'])
    .resize(72, 72)
    .strip()
    .write('./aks.png', function (err) {
    if (!err) console.log('done');
     });

您需要将 Base64 字符串转换为 Buffer:

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);
     });