Asp.NET Tutorials
Home > Asp.Net开发 > 使用 ASP.NET 和 Visual Basic .NET 向浏览器写入二进制文件

Hot archives

使用 ASP.NET 和 Visual Basic .NET 向浏览器写入二进制文件

概要
本分步指南创建了一个示例页,该页演示了如何从文件中检索二进制数据,然后如何使用 ASP.NET 和 Visual Basic .NET 将该数据写出到浏览器中。 尽管此演示使用的是 Adobe Acrobat (.pdf) 文件(Web 应用程序开发人员常使用这种文件),但您也可以对其他二进制文件格式使用此过程。


 
要求• Microsoft .NET 框架
• Microsoft Windows 2000 或 Windows XP 
• Microsoft Internet Information Server (IIS) 

 
使用 Visual Basic .NET 创建 ASP.NET Web 应用程序本节介绍如何创建一个名称为 BinaryDemo 的新 ASP.NET Web 应用程序: 1. 打开 Microsoft Visual Studio .NET
2. 从文件菜单,指向新建,然后单击项目。 
3. 在项目类型下,单击 visual Basic 项目。在模板下面,单击 ASP.NET Web 应用程序。 
4. 在名称文本框中,键入 BinaryDemo。 在位置文本框中,键入服务器名。 如果您当前使用的是本地服务器,请保留默认位置 http://localhost。 

 
向项目添加 PDF 文件若要设置您的项目以便能够添加并运行下面创建 ASPX 页一节中的代码,则必须首先向当前项目中添加一个 Adobe Acrobat (.pdf) 文件。 若要在 Visual Studio .NET 实现这一点,请按以下步骤操作: 1. 在解决方案资源管理器中,右键单击项目节点,单击添加,然后单击添加现有项。 
2. 浏览到系统上一个 .pdf 文件的位置。 
3. 单击以突出显示该文件,然后单击打开。 
4. 在 Visual Studio .NET 解决方案资源管理器中,右键单击文件,然后单击重命名。 重命名该 .pdf 文件,使之匹配下面代码中使用的文件名 Acrobat.pdf。 
另外,确保要从其上查看 .aspx 页的客户机上安装了 Adobe Acrobat Reader,以便浏览器能够正确读取并呈现二进制数据。 可以从以下 Adobe Web 站点下载 Adobe Acrobat Reader: • http://www.adobe.com (http://www.adobe.com)

 
创建 ASPX 页1. 向当前项目添加一个名为 BinaryData.aspx 的新 .aspx 页,如下所示: a.  在解决方案资源管理器中,右键单击该项目节点,单击添加,然后单击添加 Web 窗体。 
b.  将该页命名为 BinaryData.aspx,然后单击打开。

备注: 确保将您的页面添加到项目中在上一节中添加的 .pdf 文件所在的级别。 这一点非常重要,因为代码最初引用 .pdf 文件时采用相对路径。 
 
2. 在编辑器,右键单击 binarydata.aspx,然后单击查看代码。
3. 突出显示以下代码,右键单击突出显示的内容,然后单击复制。 在代码隐藏页的 page_load 事件中,单击编辑菜单上的粘贴以粘贴以下代码:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Set the appropriate ContentType.
        Response.ContentType = "Application/pdf"
        'Get the physical path to the file.
        Dim FilePath As String = MapPath("acrobat.pdf")
        'Write the file directly to the HTTP output stream.
        Response.WriteFile(FilePath)
        Response.End()
End Sub
4. 在文件菜单上,单击全部保存。
5. 在生成菜单上,单击生成。 
6. 若要运行该代码,请在解决方案资源管理器中右键单击 binarydata.aspx,然后单击在浏览器中查看。 得到提示后,请单击打开以便在浏览器中打开并呈现该文件。
备注: 如果您想使用前面的代码来支持其他二进制文件类型,则必须修改 contenttype 字符串中的值,使它指定相应的文件格式。 此字符串的语法的通常格式为“类型/子类型”,其中“类型”是一般内容类别,“子类型”是具体内容类型。 有关支持的内容类型的完整列表,请参阅 Web 浏览器文档或当前的 HTTP 规范。 下面的列表列出了一些通用的 contenttype 值: • "text/HTML" 
• "image/GIF" 
• "image/JPEG" 
• "text/plain" 
• "Application/msword" (for Microsoft Word files) 
• "Application/x-msexcel" (for Microsoft Excel files) 

 
参考
有关更多信息,请参阅 .NET 框架软件开发工具包 (SDK) 文档中的以下主题:
HttpResponse.WriteFile 方法
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpResponseClassWriteFileTopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpResponseClassWriteFileTopic.asp)

httpresponse 类
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpResponseClassTopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpResponseClassTopic.asp)

.net 框架 SDK
http://www.microsoft.com/downloads/details.aspx?familyid=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=en (http://www.microsoft.com/downloads/details.aspx?familyid=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=en)

.net 框架类库
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/cpref_start.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/cpref_start.asp)
有关如何使用 Microsoft Active Server Page (ASP) 完成此任务的其他信息,请单击下面的文章编号以查看 Microsoft 知识库中的文章:
276488 (http://support.microsoft.com/kb/276488/EN-US/) HOWTO: Use the ADODB.Stream Object to Send Binary Files to the Browser through ASP(使用 ADODB.Stream 对象通过 ASP 将二进制文件发送到浏览器)

Add by : Huobazi (2006-6-09:09:31)