日期:2014-05-17  浏览次数:20446 次

BS中以流的方式读取图片如何做缓存
有一个aspx页面,URL中传入图片编号,然后从数据库中查询出图片在服务器的路径,使用
Response.BinaryWrite(bytes)或者Response.TransmitFile(filepath) 发送图片流。

但是这种方式太慢,几K的图片需要1~2s才会展示,如果不用流的方式(直接写图片地址,只0.000几秒就可以了,但公司不允许将文件路径直接写在页面上。

有什么方法可以对这种图片在客户端缓存吗?试过.net中的缓存方式,都不可以,使用httpwatch测试,都不会从缓存中取。

------解决方案--------------------
探讨
有什么方法可以对这种图片在客户端缓存吗?试过.net中的缓存方式,都不可以,使用httpwatch测试,都不会从缓存中取。

------解决方案--------------------
对于客户端大量下载文件的应用,服务器返回304状态码的功能非常重要。例如客户端是基于地图瓦片的,那么用户在客户端随便拖动地图到世界任何地方,几秒钟内都会需要瞬间下载几百上千个小图片。而几乎全都在客户端有缓存。

可是asp.net应用程序默认并不支持这个机制。你需要自己处理!