将生成的ImageMagick图像存储到没有临时文件的s3

时间:2013-04-16 01:43:24

标签: node.js amazon-s3 imagemagick meteor graphicsmagick

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

// 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写入缓冲区或什么?

1 个答案:

答案 0 :(得分:0)

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

你应该能够将stdout传递给s3

var gmImage = gm(100, 100, "#000000ff");
gmImage.stream(function (err, stdout, stderr) {
  stdout.pipe(s3Stream);
});