如何减轻图片服务器的IO,提高页面显示速度,减少客户端Receive
2010-06-08 11:29 gio.zhou 阅读(783) 评论(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。
优点:
- 免去图片服务器的成本。
不代表这个方式好。这个方式我觉得肯定不好只是个思路而已。
浙公网安备 33010602011771号