我正在构建一个Web应用程序,在其中一个模块中,我让用户上传图像,这些图像稍后会显示在底部有缩略图的滑块中。
我的问题是,我应该将缩略图版本保存在文件系统中,还是最好创建一个接受图像路径的API并返回一个具有所需内容类型的调整后版本?
保存缩略图会增加维护其他文件的开销。但是,如果我创建一个WebAPI来按需调整图像大小,我很担心,如果它会影响性能,因为它涉及图像处理。
你会如何处理这种情况?
答案 0 :(得分:4)
我认为将图像调整为您需要的所有不同缩略图大小并将其保存到某些数据存储区是非常常见的做法。它可能会在您需要多少总存储空间方面产生很小的差异(因为您以任何方式存储最大的图片)并且性能提升非常值得。
在我公司,我们为每张照片保存了大约20种不同的缩略图尺寸,并将它们全部保存到存储空间非常便宜的Amazon S3,并且它们具有快速的内容传送网络,可以快速加载页面。
答案 1 :(得分:2)
使用ImageResizer,一个可以即时调整大小的HttpModule,无需额外代码即可缓存缩略图。您需要将其下载到\ bin,setup a web.config,然后您就可以使用例如URL API为
<img src="large.jpg?width=100" />
由于您关注性能,请设置DiskCache feature并将调整大小的图像缓存到磁盘。