首页 新闻 会员 周边

Response.BinaryWrite方法写入流错误的问题

0
悬赏园豆:30 [已关闭问题]
前段时间在写一个Response的DEMO时使用了该对象的BinaryWrite方法向客户端浏览器写入一段流文件,当时是把根目录下文件夹中的一张图片以二进制的形式打开,并输出到客户端页面。页面内容全部由后台代码生成。代码如下:

 
1 public void Page_load()
2 {
3 if(!isPostBack)
4 {
5 Response.write("下面是使用Response.BinaryWrite方法输出一张图片!<br />");
6 //下面是Response.BinaryWrite代码
7 //打开图片文件,并保存在文件流中
8 FileStream stream = new FileStream(Server.MapPath("~/Image/picture.jpg"), FileMode.Open);
9
10 //获取文件流的长度
11 long FileSize = stream.Length;
12
13 //定义一个二进制数组
14 byte[] buffer = new byte[(int)FileSize];
15
16 //从文件流中读取字节块并将该数据写入给定缓冲区中
17 stream.Read(buffer, 0, (int)FileSize);
18
19 //关闭文件流
20 stream.Close();
21
22 }
23 }

问题是:当我在输出图片信息之前先用Response.Write方法在页面上输出了一段话,图片信息就变成了乱码,如果在输出图片之前不输出一段话,那么图片是完全正确显示的。哪位高手知道如何解决?

龙吟九江的主页 龙吟九江 | 初学一级 | 园豆:170
提问于:2010-05-26 20:03
< >
分享
其他回答(1)
1

你在Response.write("下面是使用Response.BinaryWrite方法输出一张图片!<br />");之后,

将Response清空试试..

jim小子 | 园豆:205 (菜鸟二级) | 2010-05-28 09:44
0

没有指定            Response.ContentType = "";属性

 

设置为 :"image/jpeg";  就可以了 具体图片类型具体设置

Rukai | 园豆:170 (初学一级) | 2010-05-28 22:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册