Asp.net给从流中读取到的图片做缓存????

xb12369 2012-09-13 11:51:33
后台的图片存储是以流的形式存储的,我在获取的时候先将图片传到一个处理文件(.ashx),然后返回得到一个图片的路径:


<img id="ContentPlaceHolder1_Repeater1_RptImageSmall_0_ImageSmall_1" src="../Controls/ShowImage.ashx?ID=d59cbfef-48ca-49e6-aefd-83e55a491186" style="height:33px;width:46px;" />


在本地的时候还蛮好的,看不出有什么(坏饿的体验)效果,但是放在服务器上的时候,图片加载的时候是一帧一帧地出来,怎样给做个缓存啊?在网上找到的图片缓存就两种:要么就是新建的.ashx,或者就是模仿qq说什么403什么的!!!

我现在有点蛋疼了:如果是用loading加载的话,单张还好说,那要是在repter中的呢???
跪求大神的到来!!!!
...全文
310 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xb12369 2012-09-18
  • 打赏
  • 举报
回复
好吧,我最后的解决办法是:
放一个loading的图片,等所有的图片加载完全后,再显示就行了!!!

此路不通我换条路就是了!!
zhujiazhi 2012-09-15
  • 打赏
  • 举报
回复
搜索一下关于Etag的东西的,以前做过的,记的不是太清楚的了,

大概的思路就是当发现这个图片存在的,就直接回返304状态,这样浏览器会自己用缓存的
黄亮 2012-09-15
  • 打赏
  • 举报
回复
ETAG只能提升F5时候的显示效果要浏览器有缓存,你现在最需要的是图片服务器缓存。
你可以在第二次请求的时候将图片存为文件,下个用户访问时候就直接Response.File

ETAG稍微复杂点,必要性不是很大,你设置下客户端的过期时间比较长点就可以了
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
浏览器本身是会缓存图片的,你自己在服务器上缓存,是个错误,数据使用每次都要传输的,反而导致性能的下降
xb12369 2012-09-14
  • 打赏
  • 举报
回复
没有人甩我。。。
xb12369 2012-09-13
  • 打赏
  • 举报
回复
这是加载的时候的图片:

xb12369 2012-09-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

可以学习现在的那种先模糊在清晰的加载方式,这里有详细说明
http://www.cnblogs.com/yubo2010/archive/2011/03/12/1982048.html
另外你的图片要处理到合适的质量来显示,最好用jpeg压缩后的图片。
ps:如果在本地都能感觉到加载有问题那这个图不知道得多大了
[/Quote]


55555,我的图片路径是:src="../Controls/ShowImage.ashx?ID=d59cbfef-48ca-49e6-aefd-83e55a491186"
注定了要死翘翘!!!
  • 打赏
  • 举报
回复
可以学习现在的那种先模糊在清晰的加载方式,这里有详细说明
http://www.cnblogs.com/yubo2010/archive/2011/03/12/1982048.html
另外你的图片要处理到合适的质量来显示,最好用jpeg压缩后的图片。
ps:如果在本地都能感觉到加载有问题那这个图不知道得多大了
  • 打赏
  • 举报
回复
可以百度或者谷歌的加载方式,先加载缩略图,然后再大图
http://www.cnblogs.com/yubo2010/archive/2011/03/12/1982048.html
这个连接中有详细的说明

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧