2013-10-09 89 views
0

我有一個應用程序需要使用Amazon S3來託管圖像及其不同大小。我期待了解哪種方法是最好的方法。在Amazon S3和MongoDB上管理圖像版本

當用戶上傳圖片時,我創建了3種不同的尺寸,這些尺寸在網站或移動應用的不同部分都需要。總共我有4個相同圖像的文件。

問題:

  1. 如何將它們存儲在亞馬遜S3。有關如何重新命名這些文件以使其更容易的任何想法。
  2. 我是否需要在MongoDB中存儲所有4個文件名的文件名?

回答

1

您不需要在db中保留所有文件名。只保留一個父文件夾名稱。

比方說,用戶上傳的圖片ID爲1234567(爲了唯一性,您也可以使用時間戳)。然後創建一個名爲1234567的文件夾,並放置所有具有特定名稱的圖像,如原始,縮略圖,中等,大。只要你需要一個特定的流就可以了。

1

您可以簡單地附加一個簡短的字符串,分辨率或使用標識符,如「thumbnail」,例如

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

這樣,您不需要存儲四個文件的名稱,只需遵循約定。