管理Amazon S3和MongoDB上的映像版本

时间:2013-10-09 08:28:43

标签: mongodb amazon-web-services amazon-s3

我有一个应用程序需要使用Amazon S3来托管图像及其不同的大小。我期待着了解哪种方法最好。

当用户上传图片时,我会在网站的不同部分或移动应用中创建3种不同的尺寸。总共我有4个相同图像的文件。

问题:

  1. 如何将它们存储在Amazon S3中。关于如何重命名这些文件以使其更容易的任何想法。
  2. 我是否需要在MongoDB中存储所有4个文件名的文件名?

2 个答案:

答案 0 :(得分:1)

您不需要在db中保留所有文件名。只需保留父文件夹名称。

假设用户上传的图片ID为1234567(为了唯一性,您也可以使用时间戳)。然后创建一个名为1234567的文件夹,并将所有图像放入特定名称,如原始,缩略图,中等,大。无论什么时候你需要一个特定的,只需流动它。

答案 1 :(得分:1)

您可以简单地附加一个短字符串,分辨率或使用标识符,例如'thumbnail',例如

foobar.jpg -> 2342342_thumb.jpg
           -> 2342342_gallery.jpg
           -> 2342342_full.jpg

这样,您不需要存储四个文件的名称,只需按照约定。