如何使用 ASP.NET 和 Visual C# .NET 向浏览器写入二进制文件

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


要求

<script type="text/javascript"> loadTOCNode(2, 'summary'); </script>
  • Microsoft .NET Framework
  • Microsoft Windows 2000 或 Windows XP
  • Microsoft Internet Information Server (IIS)

使用 Visual C# 创建 ASP.NET Web 应用程序

<script type="text/javascript"> loadTOCNode(2, 'summary'); </script> 本部分演示如何创建名为 BinaryDemo 的新 ASP.NET Web 应用程序:
  1. 打开 Microsoft Visual Studio .NET。
  2. 在“文件”菜单上,指向“新建”,然后单击“项目”。
  3. 在“项目类型”下,单击“Visual C# 项目”。在“模板”下,单击“ASP.NET Web 应用程序”。
  4. 在“名称”文本框中,键入 BinaryDemo。在“位置”文本框中,键入服务器名称。如果您当前使用的是本地服务器,请保留默认位置 http://localhost。

向项目中添加 PDF 文件

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

创建 ASPX 页

<script type="text/javascript"> loadTOCNode(2, 'summary'); </script>
  1. 按以下步骤向当前项目中添加一个名为 BinaryData.aspx 的新 .aspx 页:
    1. 在解决方案资源管理器中,右键单击该项目节点,单击“添加”,然后单击“添加 Web 窗体”。
    2. 将该页命名为 BinaryData.aspx,然后单击“打开”。

      注意:确保将您的页面添加到项目中在上一节中添加的 .pdf 文件所在的级别。这一点非常重要,因为代码最初引用 .pdf 文件时采用相对路径。
  2. 在编辑器中,右键单击“BinaryData.aspx”,然后单击“查看代码”。
  3. 突出显示以下代码,右键单击该代码,然后单击“复制”。在代码隐藏页的 Page_Load 事件中,单击“编辑”菜单上的“粘贴”以粘贴代码:
    private void Page_Load(object sender, System.EventArgs e)
    {
    //Set the appropriate ContentType.
    Response.ContentType = "Application/pdf";
    //Get the physical path to the file.
    string FilePath = MapPath("acrobat.pdf");
    //Write the file directly to the HTTP content output stream.
    Response.WriteFile(FilePath);
    Response.End();
    }
  4. 在“文件”菜单上,单击“全部保存”。
  5. 在“生成”菜单上,单击“生成”。
  6. 若要运行代码,请在解决方案资源管理器中右键单击“BinaryData.aspx”,然后单击“在浏览器中查看”。得到提示后,单击“打开”以便在浏览器中打开并呈现该文件。
注意: 如果您想使用前面的代码来支持其他二进制文件类型,则必须修改“ContentType”字符串中的值,使它指定相应的文件格式。此字符串的语法的通常格 式为“类型/子类型”,其中“类型”是一般内容类别,“子类型”是具体内容类型。有关支持的内容类型的完整列表,请参阅 Web 浏览器文档或当前的 HTTP 规范。下面的列表概括了一些常用“ContentType”值:
  • “text/HTML”
  • “image/GIF”
  • “image/JPEG”
  • “text/plain”
  • “Application/msword”(用于 Microsoft Word 文件)
  • “Application/x-msexcel”(用于 Microsoft Excel 文件)
 
有关更多信息,请参阅 .NET Framework 软件开发工具包 (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 Framework SDK
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9B3A2CA6-3647-4070-9F41-A333C6B9181D (http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9B3A2CA6-3647-4070-9F41-A333C6B9181D)

.NET Framework 类库
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 Pages (ASP) 执行此任务的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
276488  (http://support.microsoft.com/kb/276488/ ) 如何通过 ASP 使用 ADODB.Stream 对象将二进制文件发送到浏览器


例子下载: http://download.csdn.net/source/903299
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值