2016-03-18 18 views
1

Bir kullanıcı siteme bir resmi yüklediğinde, görüntünün farklı kopyalarını S3'e kaydediyorum. Resmin bir kopyasını kaydetmek ve URL değişkenleriyle farklı boyutlara erişmek mümkün mü?AWS S3 Aynı Görüntü, Farklı Boyutlar

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 

bu tersine: Ben gereksiz yere büyük resimler indirmek istemiyorum

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 

Böyle bir şey tercih ediyorum.

cevap

2

Bu, S3 ile mümkün değildir (çünkü S3 diğer biçimleri hesaplamamaktadır, yalnızca yüklenen dosyalarınıza hizmet edecektir). Ancak, açıkladığınız şeyi yapan https://www.imgix.com ile mümkündür.

+1

Benzer başka bir hizmet de: http://cloudinary.com/ Hatta resimlerinizi S3'te sakladığınızda istek üzerine yeniden boyutlandırabilirler. –

+0

Harika, ikinize de teşekkürler! – Bxx

3

Hayır, S3'teki farklı nesnelere (dosyalara) erişmek için sorgu parametrelerini kullanamazsınız.

Kendinizi önerdiğiniz gibi, bir adlandırma şeması oluşturmalısınız. Öneriniz oldu:

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 

Veya:

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 

Veya, manuel içerik türünü ayarlamak için istekli olup olmadığını

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 

Bu, alternatif beğenmezseniz yüklenen her bir nesnenin, hatta:

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 

Resim nesnelerini S3 kabında nasıl adlandıracağınız gerçekten önemli değil, ancak web uygulamanızın, istenen biçime bağlanmak için bir resim URL'sinin nasıl ekleneceğini bilmesi gerekir.

+0

Harika, bunu onayladığınız için teşekkürler :) – Bxx