如何减轻图片服务器的IO,提高页面显示速度,减少客户端Receive
2010-06-08 11:29 gio.zhou 阅读(780) 评论(0) 编辑 收藏 举报其实就是将图片转为Base64编码然后显示在页面中,先上Code
protected string A { get;set; } private void Page_Load(object sender, System.EventArgs e) { Image _Image = Image.FromFile(@"C:\banner4.jpg"); System.IO.MemoryStream _ImageMem = new System.IO.MemoryStream(); _Image.Save(_ImageMem, ImageFormat.Jpeg); byte[] _ImageBytes = _ImageMem.ToArray(); A = Convert.ToBase64String(_ImageBytes); }
<img src="data:image/jpeg;base64,<%=A%>" />
当然缺点也有很多,不然各大网站可能都这样处理了。
个人觉得缺点以下几个:
- 原来图片服务器的负担转到了web服务器,但是web服务器的成本肯定高于图片服务器.
- 估计是最大的问题,只是少我没有发现如何解决或者解决的方法也是效率极低的。就是IE下无法正常访问。
- 至于用户中receive值来说是一样的.原本是www.a.com和img.a.com中输出100KB,但是现在是都由www.a.com输出100kb。
优点:
- 免去图片服务器的成本。
不代表这个方式好。这个方式我觉得肯定不好只是个思路而已。