2016-03-18 245 views
1

當用戶將圖像上傳到我的網站時,我將圖像的多個副本以不同的尺寸保存到S3。是否可以保存圖像的一個副本並通過URL變量訪問不同的大小?AWS S3相同圖像,不同尺寸

我寧願是這樣的:

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 

與此相反:

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 

我不想不必要下載大量圖片。

回答

2

這不可能與S3(因爲S3不會計算其他格式,他們只會爲您上傳的文件)。但它可能與https://www.imgix.com,它幾乎所描述的。

+1

另一個類似的服務:http://cloudinary.com/他們甚至可以根據需要調整存儲在S3中的圖像的大小。 –

+0

太棒了,謝謝你們兩位! – Bxx

3

不,您不能使用查詢參數訪問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 

如果你不喜歡這樣,一種替代方案:

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 

或者:

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 

或者,如果您願意手動設置的內容類型每個上傳對象,甚至:

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 

如何在S3存儲桶中命名圖像對象並不重要,但是您的Web應用程序必須知道如何將圖像URL放在一起才能鏈接到所需的格式。

+0

太好了,謝謝你的確認:) – Bxx