Ajax 输出 图片(二进制流)问题
后台获取并输出流到页面 ,在该页面可以实现展现图片。。。
byte[] tempInfo=new LogicHR.model.archive().existsFiled(this.Request.QueryString["userId"],this.Request.QueryString["info"]); this.Response.ContentType="image/JPEG"; this.Response.BinaryWrite(tempInfo); this.Response.Flush();// this.Response.Write("测试"); this.Response.Clear(); this.Response.End();
byte[] tempInfo=new LogicHR.model.archive().existsFiled(this.Request.QueryString["userId"],this.Request.QueryString["info"]);//是不是byte[] 数组长度过长 而没有数据的位置被控制所代替比如说byte[] bys = new byte[1024*1024*2];2MB的byte 我实际存储的数据不到 2MB 剩余的部分Response的话(空)也会输出,导致图片受影响
[解决办法]
看看这个有木有帮助?
http://topic.csdn.net/u/20111221/15/e1be3919-0f12-44bf-ad79-c882ec23998c.html?seed=549861290&r=77034865#r_77034865
[解决办法]
byte[] tempInfo=new LogicHR.model.archive().existsFiled(this.Request.QueryString["userId"],this.Request.QueryString["info"]); this.Response.ContentType="image/JPEG"; this.Response.BinaryWrite(tempInfo); this.Response.Flush();// this.Response.Write("测试"); this.Response.Clear(); this.Response.End();//將上面的代碼放在一個Test.ashx文件中然後直接用js賦值就OK了
[解决办法]
byte[] tempInfo=new LogicHR.model.archive().existsFiled(this.Request.QueryString["userId"],this.Request.QueryString["info"]);this.Response.Clear();//*****************請放置在this.Response.BinaryWrite(tempInfo);的前面***************** this.Response.ContentType="image/JPEG"; this.Response.BinaryWrite(tempInfo); this.Response.Flush();// this.Response.Write("测试"); this.Response.End();
[解决办法]
樓主太大意了。本來是輸出了數據的,然後又this.Response.Clear();了
[解决办法]
学习下 求源码