输出二进制图像

Rsponse对象不但可以使用write方法在页面上输出数据,使用WriteFile方法将文件内容在页面上输出,而且还可以使用BinaryWrite方法显示二进制表示的数据,如图像、图片等。

下面示例主要通过Response对象的BinaryWrite方法实现输出二进制图像。执行程序,示例运行结果如图1所示。

1  输出二进制图像

程序实现的主要步骤:

新建一个网站,默认主页为Default.aspx。首先引入“System.IO”命名空间,然后在Default.aspx页面初始化事件中将图片文件读取到文件流中,并将图像以二进制数据的形式输出到页面。代码如下:

using System.IO;

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        //打开图片文件,并存在文件流中

        FileStream stream = new FileStream(Server.MapPath("picture.gif"), FileMode.Open);

        long FileSize = stream.Length;//获取流的长度

        byte[] Buffer = new byte[(int)FileSize];//定义一个二进制数组

        stream.Read(Buffer, 0, (int)FileSize);//从流中读取字节块并将该数据写入给定缓冲区中

        stream.Close();//关闭流

        Response.BinaryWrite(Buffer);//将图片输出在页面上

    }

}

应用锦囊

Response对象的Write方法与JavaScript脚本语言结合使用

1.弹出提示对话框

Response.Write方法主要是用来在页面上输出信息。该方法还可以结合JavaScript脚本语言,弹出提示对话框。代码如下:

Response.Write("<script>alert('Hello World!')</script>");

2.关闭窗口

ASP.NET中没有提供方法直接关闭窗口,但这里交您一招,使用JavaScript脚本关闭窗口。代码如下:

Response.Write("<script>window.close();</script>");