C# 为AmazonS3创建缩略图缓存

C# 为AmazonS3创建缩略图缓存,c#,asp.net-mvc-3,amazon-s3,C#,Asp.net Mvc 3,Amazon S3,我需要一些关于为AmazonS3创建缩略图缓存的建议。我需要为从s3获取的每个文件创建一个缩略图。将s3中的文件与磁盘上的缩略图进行比较的最佳方法是什么?我目前的想法是,如果我在应用程序中浏览一个AmazonS3目录,我会在服务器上创建该目录,下载每个文件,并使用etag或哈希代码创建一个缩略图。有谁有更好的解决方案吗?以下是我的工作: 假设在S3上有一个文件 my-bucket.s3.amazonaws.com/path/to/file.png 它将有一个与之关联的etag 我将缩略图存储在类

我需要一些关于为AmazonS3创建缩略图缓存的建议。我需要为从s3获取的每个文件创建一个缩略图。将s3中的文件与磁盘上的缩略图进行比较的最佳方法是什么?我目前的想法是,如果我在应用程序中浏览一个AmazonS3目录,我会在服务器上创建该目录,下载每个文件,并使用etag或哈希代码创建一个缩略图。有谁有更好的解决方案吗?

以下是我的工作:

假设在S3上有一个文件 my-bucket.s3.amazonaws.com/path/to/file.png

它将有一个与之关联的etag

我将缩略图存储在类似 my bucket.s3.amazonaws.com/thumbs/path/to/file.png/“78skfghsfkgjh”small.png

我可以将缩略图存储在图像下,因为S3是一个多叉文件系统,但我喜欢将真实数据和生成的数据分开,以便于转储/重建

然后,如果主文件发生更改,我可以判断etag是否会发生更改,并创建一个新的拇指

对于任意文件类型,生成缩略图可能很棘手(3GB视频如何)。我想有些小公司是收费的


查看并单击“试驾”以查看我的缩略图……

将缩略图存储在S3存储桶中,并为上载的对象设置缓存头

好的,那么您将所有缩略图存储在bucket中,而不是本地存储在磁盘上?