2012-09-19 78 views
2

我正在构建一个处理图像上传的应用程序,当图像上传时,我想制作3个缩略图并上传到Amazon S3。用于流处理图像的Node.js库

现在我想知道是否有图书馆可以做到这一点,而图片上传,处理,并最终流异步流。

解决此问题的最逻辑方法是将文件上传到服务器,一旦完成升级,创建3个缩略图,然后将它们全部上传到Amazon S3并删除上传的文件。

但我不希望任何磁盘I/O涉及,也没有存储。

回答

2

尝试gm lib for nodejs

在这种情况下,您应首先将原始图像下载到服务器。然后您可以将它发送给gm以异步创建所有缩略图。

由于输入gm接受可读流,所以不需要先保存图像。它也会返回流,所以你可以直接发送到S3。

Gm是真正快速和易于使用。它取决于imagemagick或graphicsmagick lib(我的选择是graphicsmagick,因为它更轻,更快)。

不幸的是,gm在处理它们之前将图像保存在磁盘上,尽管您不会注意到它在查看您的代码。但它自己处理所有的清理工作,所以你不必关心它。

我不认为你会发现完全没有任何磁盘I/O的nodejs图像处理库。

+0

你碰巧有任何示例代码来显示它吗?试图完全正确地做到这一点,并有一点麻烦让它工作。 –