我有一个应用程序需要使用Amazon S3来托管图像及其不同大小。我期待了解哪种方法是最好的方法。在Amazon S3和MongoDB上管理图像版本
当用户上传图片时,我创建了3种不同的尺寸,这些尺寸在网站或移动应用的不同部分都需要。总共我有4个相同图像的文件。
问题:
- 如何将它们存储在亚马逊S3。有关如何重新命名这些文件以使其更容易的任何想法。
- 我是否需要在MongoDB中存储所有4个文件名的文件名?
我有一个应用程序需要使用Amazon S3来托管图像及其不同大小。我期待了解哪种方法是最好的方法。在Amazon S3和MongoDB上管理图像版本
当用户上传图片时,我创建了3种不同的尺寸,这些尺寸在网站或移动应用的不同部分都需要。总共我有4个相同图像的文件。
问题:
您不需要在db中保留所有文件名。只保留一个父文件夹名称。
比方说,用户上传的图片ID为1234567(为了唯一性,您也可以使用时间戳)。然后创建一个名为1234567的文件夹,并放置所有具有特定名称的图像,如原始,缩略图,中等,大。只要你需要一个特定的流就可以了。
您可以简单地附加一个简短的字符串,分辨率或使用标识符,如“thumbnail”,例如
foobar.jpg -> 2342342_thumb.jpg
-> 2342342_gallery.jpg
-> 2342342_full.jpg
这样,您不需要存储四个文件的名称,只需遵循约定。