我正在构建一个处理图像上传的应用程序,当图像上传时,我想让它的3个缩略图,并上传到亚马逊S3。
现在我想知道的是,是否有库可以在图像被上传、处理并最终以异步流的形式进行传输时做到这一点。
解决这个问题最符合逻辑的方法是将文件上传到服务器,上传完成后,创建3个缩略图,然后将它们都上传到亚马逊S3并删除上传的文件。
但我不希望涉及任何磁盘I/O,也不希望涉及存储。
发布于 2012-09-20 08:21:48
试试gm lib for nodejs。
在这种情况下,您应该先将原始图像下载到服务器。然后,您可以将其发送到gm以异步创建所有缩略图。
因为输入gm接受可读流,所以不需要先保存你的图像。它也会返回stream,所以你可以直接把它发送给S3。
通用汽车真的很快,也很容易使用。它取决于imagemagick或graphicsmagick库(我选择的是graphicsmagick,因为它更轻更快)。
不幸的是,gm在处理图像之前会将它们保存在磁盘上,尽管您在查看代码时不会注意到这一点。但是它自己处理所有的清理工作,所以你不应该关心它。
我不认为您会发现nodejs图像处理库完全脱离了任何磁盘I/O。
https://stackoverflow.com/questions/12504259
复制相似问题