browser - 缩放存储在 S3 中的图像

标签 browser image-processing amazon-s3 python-imaging-library cloudfiles

我面临的情况是,我需要将多个网站的图像存储推送到可以无限扩展的服务(S3、CloudFiles 等)。到目前为止,我们已经能够允许用户使用 Python 的图像库在 sorl-thumbnail 的帮助下即时生成自定义缩略图大小。在 Django 中。

通过将图像移动到 S3 之类的设备,快速动态创建缩略图的能力就会丧失。我们可以:

  1. 慢慢地从 S3 下载源代码并在本地创建缩略图
    缺点:速度慢且占用带宽
  2. 通过创建一组预先确定的缩略图尺寸(类似于 Flickr)并将它们全部推送到 S3 来预先完成此操作
    缺点:它限制了可以生成的大小并存储了大量永远不会使用的文件
  3. 让浏览器使用 img 标签上的高度/宽度属性调整大小。
    缺点:下载超过必要的文件会占用额外带宽

此时#3 看起来是一个简单的解决方案,几乎没有什么缺点。一些快速测试和 data from this website表明质量没有预期的那么差(我们可以保证纵横比保持不变)。

对于我们可能没有考虑的其他选项或缺点有什么建议吗?

注意:这些图像是数码照片,仅用于在网络上显示。尺寸的高度/宽度范围为 1000-50 像素。

最佳答案

我建议使用 EC2 按需缩放图像。由于 EC2 和 S3 之间的带宽是免费的并且速度应该很快,我认为这消除了解决方案 #1 的所有问题。

关于browser - 缩放存储在 S3 中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1563347/

相关文章:

javascript - 如何延迟 DOM 元素的渲染以防止无响应

wpf - 将图像加载到 ImageSource - 不正确的宽度和高度

python - 在 python 中显示像素数组中的图像时出错

image-processing - 哈里斯拉普拉斯检测器和自动比例选择

c# - 适用于 C# 的 AWS SDK,将 App.config 文件放在哪里?

docker - 在 docker 容器之间连接到 scality/s3 服务器

ssl - 为什么为 TLS 到期选择 398 天?

XML 差异的 JavaScript 实现

html - 有没有办法通过 URL 本身在新浏览器上跳过 YouTube 的 "Before you continue to YouTube"cookies 消息?

python - 如何更改 Amazon S3 中对象的元数据