用于stream处理图像的Node.js库

我正在构build一个处理图片上传的应用程序,当图片上传时,我想制作3张缩略图,并上传到Amazon S3。

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

解决这个问题的最好的逻辑方法是上传文件到服务器,一旦上传完成,创build3个缩略图,然后全部上传到Amazon S3并删除上传的文件。

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

尝试gm lib为nodejs 。

在这种情况下,您应该首先将原始图像下载到服务器。 然后你可以发送给gm来asynchronous创build所有的缩略图。

作为一个inputgm接受可读的stream,所以没有必要先保存你的图像。 它返回stream,所以你可以直接发送到S3。

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

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

我不认为你会发现完全没有任何磁盘I / O的nodejsimage processing库。