Luc*_*cas 5 database image amazon-s3
第一:我将图像保存在亚马逊 s3 中。
所以我的图像的 URL 根是: https: //myapp.s3.amazonaws.com/
我的设计表和关系:
表格文件
id file_name
1 my_document
Run Code Online (Sandbox Code Playgroud)
表格图像
id document_id missing_column??
1 1
2 1
Run Code Online (Sandbox Code Playgroud)
表图像大小
id images_id image_size file_name file_extension
1 1 800 output1 .png
2 2 800 output2 .png
3 1 200 output1 .png
4 2 200 output2 .png
Run Code Online (Sandbox Code Playgroud)
然后构建获取图像的 url 将是 https://myapp.s3.amazonaws.com/document_id/image_size/file_name+file_extension
但我不知道我是否走在正确的道路上。这种方式建模有什么缺点?你建议我用另一种方式吗?图像表缺少不同寄存器的列。我不知道到底要做什么。
为什么不只有一张桌子?
|Image
----------------------------------------------------------
id | image_size(if you need to know size) | url(varchar)
----------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
文件名可能很棘手。您可能有 2 个具有相同文件名的图像。使用 id 作为 S3 中的键名称。如果您使用 id,则可以去掉上面的“url”列并遵循如下约定
https://myapp.s3.amazonaws.com/id.jpeg
Run Code Online (Sandbox Code Playgroud)
如果 image_size 是固定大小,则您也不需要在 URL 和表中使用 image_size。如果您要保存一组标准尺寸,则可以像 YouTube 一样遵循约定 -
http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
612 次 |
| 最近记录: |