储存在S3缩放图像(Scaling images stored at S3)

2019-07-23 11:46发布

我在一个情况下,我需要推动图像存储为一些网站出来,可以无限地扩展服务(S3,CloudFiles等)。 直到此时,我们已经能够让我们的用户使用Python的影像库,从一些帮助来实时生成自定义缩略图大小SORL-缩略图在Django。

通过我们的图片移动到类似S3,在飞行中快速创建缩略图的能力丧失。 我们可以:

  1. 要慢慢通过下载从S3源和本地创建缩略图
    CON:它是缓慢和带宽密集型
  2. 做前期通过创建一个预先确定的设定缩略图的大小(网HRS欧洲Flickr的),并将其全部推到S3
    缺点:它限制了可以产生的大小和存储大量的文件,这些文件将永远不会被使用
  3. 让浏览器使用调整的img标签的高度/宽度属性。
    CON:通过下载超过必要的文件使用较大的额外带宽

此时,3号看起来是一个简单的解决问题的方法有一些缺点。 一些快速试验和数据从本网站表明,质量并不如预期的那样糟糕(我们可以保证的宽高比保持不变)。

其他选项或缺点任何建议,我们可能没有考虑到?

注意:图片是数码照片,并只用于在网络上显示。 尺寸将范围从在高度/宽度1000至50年的像素。

Answer 1:

我会建议使用EC2,以按需扩展的图像。 由于EC2和S3之间的带宽是免费的,它应该是快,我认为这消除了所有与解决方案#1的问题。



文章来源: Scaling images stored at S3