Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 使用AWS S3进行照片存储_Amazon S3_Amazon Web Services_Photos - Fatal编程技术网

Amazon s3 使用AWS S3进行照片存储

Amazon s3 使用AWS S3进行照片存储,amazon-s3,amazon-web-services,photos,Amazon S3,Amazon Web Services,Photos,我将使用S3存储用户上传的照片。显然,我不会在不调整图像文件大小的情况下将其提供给用户代理。但是,一个尺寸都不行,因为有些缩略图会比其他较大的预览图小。所以,我在考虑制作一组标准的尺寸,从最低的16x16缩放到最高的1024x1024。这是解决这个问题的好办法吗?如果我以后需要一个新的尺码呢?您将如何解决这个问题?这听起来是个不错的方法。根据您的应用程序,您应该定义一组始终生成的缩略图大小。但是,如果您的需求以后发生更改,还可以存储原始用户文件。如果要添加新的缩略图大小,可以迭代所有原始文件并从

我将使用S3存储用户上传的照片。显然,我不会在不调整图像文件大小的情况下将其提供给用户代理。但是,一个尺寸都不行,因为有些缩略图会比其他较大的预览图小。所以,我在考虑制作一组标准的尺寸,从最低的16x16缩放到最高的1024x1024。这是解决这个问题的好办法吗?如果我以后需要一个新的尺码呢?您将如何解决这个问题?

这听起来是个不错的方法。根据您的应用程序,您应该定义一组始终生成的缩略图大小。但是,如果您的需求以后发生更改,还可以存储原始用户文件。如果要添加新的缩略图大小,可以迭代所有原始文件并从中生成新的缩略图。此选项为以后的操作提供了灵活性。

预生成不同的大小并将其存储在S3中是一种很好的方法,特别是如果您知道需要什么大小,可能会对所有图像使用所有大小,并且不会有太多的图像和大小导致存储成本过高

当我不想为每个图像预生成和存储所有不同的大小时,或者当我不知道将来要使用什么大小时,我使用另一种方法:

  • 将原始大小存储在S3中

  • 运行web服务器,该服务器可以根据请求从原始图像生成任何所需大小

  • 在web服务器前面粘贴一个CDN(CloudFront)

  • 现在,您的网站或应用程序可以从CloudFront请求像/16x16/someimage.jpg这样的URL。第一次出现这种情况时,CloudFront将从您的web服务器获取调整大小的映像,但随后CloudFront将缓存映像并为您提供服务,从而大大减少了访问web服务器的流量


    这里有一个服务可以从任意URL调整图像大小,通过CloudFront为它们提供服务:

    对,我想在S3中为每张照片提供一个唯一的散列作为文件夹,然后存储original.png和128.png、256.png等。如果我需要新的大小或裁剪版本,或者对图像进行任何其他转换,我总是可以在原始的.png上迭代。使用CloudFront或filter.to在我的图像URI前面是个好主意。我甚至可以用我的S3分区做到这一点,不是吗?当然,CloudFront非常适合放在任何静态内容,甚至一些动态内容的前面。Filter.to(由朋友运行)在合理的使用量下是免费的。是否可以让我的动态大小调整脚本响应301 HTTP代码和指向AWS S3 URI的位置标头,并且我的图像HTML元素仍将正确加载资源?重定向将减少服务器上每个请求的负载,但我认为它不会缓存在CloudFront中,所以您的服务器仍然需要处理所有请求。我现在将重定向。然后直接上菜一次/如果我决定使用CloudFront。