Bxx*_*Bxx 6 html image amazon-s3 amazon-web-services
当用户将图像上传到我的网站时,我会将不同大小的图像的多个副本保存到 S3。是否可以保存图像的一份副本并使用 URL 变量访问不同的尺寸?
我更喜欢这样的东西:
https://s3-us-west-2.amazonaws.com/img.jpg?size=small
https://s3-us-west-2.amazonaws.com/img.jpg?size=medium
https://s3-us-west-2.amazonaws.com/img.jpg?size=large
Run Code Online (Sandbox Code Playgroud)
与此相反:
https://s3-us-west-2.amazonaws.com/img1.jpg
https://s3-us-west-2.amazonaws.com/img2.jpg
https://s3-us-west-2.amazonaws.com/img3.jpg
Run Code Online (Sandbox Code Playgroud)
我不想下载不必要的大图像。
不可以,您不能使用查询参数访问 S3 上的不同对象(文件)。
就像您自己建议的那样,您必须想出一个命名模式。你的建议是:
https://s3-us-west-2.amazonaws.com/bucketname/<imagename><size>.<ext>
- Example: -
https://s3-us-west-2.amazonaws.com/bucketname/img1.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img2.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img3.jpg
Run Code Online (Sandbox Code Playgroud)
如果你不喜欢这个,还有一个替代方案:
https://s3-us-west-2.amazonaws.com/bucketname/<imagename>/<size>.<ext>
- Example: -
https://s3-us-west-2.amazonaws.com/bucketname/img/1.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img/2.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img/3.jpg
- or named sizes: -
https://s3-us-west-2.amazonaws.com/bucketname/img/small.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img/medium.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img/large.jpg
Run Code Online (Sandbox Code Playgroud)
或者:
https://s3-us-west-2.amazonaws.com/bucketname/<imagename>-<size>.<ext>
- Example: -
https://s3-us-west-2.amazonaws.com/bucketname/img-1.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img-2.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img-3.jpg
- or named sizes: -
https://s3-us-west-2.amazonaws.com/bucketname/img-small.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img-medium.jpg
https://s3-us-west-2.amazonaws.com/bucketname/img-large.jpg
Run Code Online (Sandbox Code Playgroud)
或者,如果您愿意手动设置每个上传对象的内容类型,甚至可以:
https://s3-us-west-2.amazonaws.com/bucketname/<imagename>.<ext>/<size>
- Example with named sizes: -
https://s3-us-west-2.amazonaws.com/bucketname/img.jpg/small
https://s3-us-west-2.amazonaws.com/bucketname/img.jpg/medium
https://s3-us-west-2.amazonaws.com/bucketname/img.jpg/large
Run Code Online (Sandbox Code Playgroud)
如何命名 S3 存储桶中的图像对象并不重要,但您的 Web 应用程序必须知道如何将图像 URL 组合在一起才能链接到所需的格式。