0

我在 node.js 应用程序的服务器端生成一个 PNG,使用 ImageMagick 和 node.js 的 gm 库( node.js 的GraphicsMagick)。

// start with a blank image
var gmImage = gm(100, 100, "#000000ff");

// Draw the stuff on the new blank image

当我使用gm库完成绘图后,我将该图像存储到文件系统中:

gmImage.write(imagePath, function (err) {
  ...
});

我现在正在转移到 s3。我想跳过上一步并将图像直接写入 s3 而不使用临时文件。

有没有办法将其写入gmImage缓冲区或其他东西?

4

1 回答 1

0

看看 API 的流部分:https ://github.com/aheckmann/gm#streams

您应该能够将标准输出通过管道传输到 s3

var gmImage = gm(100, 100, "#000000ff");
gmImage.stream(function (err, stdout, stderr) {
  stdout.pipe(s3Stream);
});
于 2013-04-16T02:24:34.927 回答