加载外部图像效率

时间:2013-09-04 08:44:41

标签: c# html image performance caching

我想知道将外部图片加载到我的网站的最有效方法。

例如: 我的网站的网址是“www.mydomain.com”。外部图像为http://www.myimagedomain.com/image.jpg。 最常见的方法是编写一个简单的html图像标签 <img src="http://www.myimagedomain.com/image.jpg" />

问题是,如果请求的图像非常大(8000x6000像素),但我想将此图片显示为缩略图/预览,例如200x200像素,例如在移动设备上。

基于这些信息,我写了一个小的ashx(c#)处理程序,它下载所请求的图像并将其调整为给定的权重/高度参数,如下所示:

<img src="http://www.mydomain.com/img.ashx?imageUrl=http://www.myimagedomain.com/image.jpg&w=200&h=200" />

现在还有另一个问题,因为httphandler总是在运行中下载所请求的图像。

我的新方法是从调整大小的图像生成一个基于64的字符串并将其保存在数据库中一次?! 你会推荐这个还是有其他方法来消除下载问题? 也许有人知道google-image-search如何防止这个问题?

我不想将外部图像保存在我自己的服务器上......

1 个答案:

答案 0 :(得分:1)

我建议使用图像缩放器库,它以有效的方式解决了您需要的大部分内容 - 缓存包括: http://www.nuget.org/packages/ImageResizer/

我认为谷歌会在其服务器上缓存图片缩略图以进行搜索。