在PHP应用程序中从Amazon S3提供图像

时间:2010-03-12 19:41:23

标签: amazon-s3

所以我刚刚想到,一旦我将配置文件图片上传到S3,我就必须找到一种方法来跟踪文件。例如,如果“susan”上传了3张个人资料照片,我需要回忆起这3张照片,并在有人查看她的页面时将其显示在她的个人资料页面上。有了这个说,以下工作会吗?

  • 用户从表单上传图片
  • 将文件信息(文件名,用户信息等)保存到数据库和S3中的参考URL
  • 将照片上传到S3

显示图片时,我会向DB查询信息并相应地显示S3中的图像。

2 个答案:

答案 0 :(得分:3)

您不应将完整的URL存储在数据库中,只应存储在文件名中。这些网址都与此模式一致:

http://s3.amazonaws.com/YOUR-BUCKET-NAME/YOUR-FILE-NAME

所以你只需要你的常量存储桶名称和文件名。

这样,您可以更改文件的提供方式,只更改应用程序,而不是数据库中的数据(例如,如果您开始使用CloudFront而不是直接S3访问)。

答案 1 :(得分:1)

最终使用了MongoDB中的GridFS。