低内存节点图像大小调整/ S3选项

时间:2013-07-05 18:49:53

标签: javascript node.js

寻找一些关于此的想法。我目前使用Imager - 完美的功能,除了我在较大的图像上出现内存问题 - 我使用NodeJitsu并且只有很少的内存可供使用。我正在寻找另一种不会在内存中加载整个图像的解决方案 - 需要做多个尺寸并上传到S3(cloudfiles会起作用)。我发现了这个

想法?

1 个答案:

答案 0 :(得分:0)

您可以将此任务卸载到一个(无服务器)云功能,每个调整大小的操作将在一个单独的Docker容器中运行,该容器在HTTP请求完成后立即关闭。

这里是一个示例,它使用image-resizing Node.js / NPM软件包:

$ npm install image-resizing --save
const { createHandler } = require("image-resizing");

module.exports.img = createHandler({
  // Where the source images are located.
  // E.g. gs://s.example.com/image.jpg
  sourceBucket: "s.example.com",
  // Where the transformed images needs to be stored.
  // E.g. gs://c.example.com/image__w_80,h_60.jpg
  cacheBucket: "c.example.com",
});

enter image description here

https://example.com/image.jpg

enter image description here

https://example.com/w_120,h_120,c_fill/image.jpg