将用户图像上传到s3并从节点生成缩略图

时间:2012-11-07 00:34:29

标签: node.js amazon-s3 amazon-web-services express meteor

我正在考虑开发一个Meteor node.js应用程序,但我正在努力解决如何最好地处理用户图像的上传问题。特别是,我想创建一个摄影网站,让摄影师在“管理”部分上传图像,然后这些图像将显示在网站上。我需要创建这些图像的缩略图,并将相应的URL保存到数据库中。我正在努力学习如何在流星中做到最好。

我最好的选择是将s3与AWS流程结合使用以生成缩略图吗?

或者我应该直接在Meteor / node会话中保存和托管图像?

或者我应该删除Meteor并为此项目使用Express.js之类的东西?

2 个答案:

答案 0 :(得分:2)

为什么不使用像Filepicker.io这样的东西来处理上传和托管图像,只需存储图像唯一网址(在回调中由filepicker提供给你)? 缩略图也可以由Filepicker动态生成(使用简单的URL修改)。

当涉及到图像时,Cloudinary是filepicker的一个更好的替代品,但集成过程将更加混乱。

答案 1 :(得分:0)

我会将图像存储在文件系统上,而不是存储在数据库中。如果您有唯一ID,则可以将其用作URL的一部分,例如图像所属项目的ID。可能看起来像这样:

./uploads/img-<id>-<size>.jpg

您可以使用node-imagemagick写入磁盘并在必要时调整大小,并且您的cdn应该不时轮询这些图像。不完全确定该部分如何在html中包含图像的URL。