使用 ASP.NET 和 Visual C# .NET 将二进制文件写入浏览器
本文创建一个示例页,演示如何使用 Visual C# .NET 从文件检索二进制数据,然后将数据写入浏览器。 尽管此演示使用 Adobe Acrobat (.pdf) 文件,但你可以将此过程应用于其他二进制文件格式。
原始产品版本: ASP.NET
原始 KB 编号: 306654
要求
- Microsoft .NET Framework
- Windows
- Internet Information Server (IIS)
使用 Visual C# 创建 ASP.NET Web 应用程序
本部分演示如何创建名为 BinaryDemo 的新 ASP.NET Web 应用程序:
- 打开 Visual Studio .NET
- 在“ 文件 ”菜单中,指向“ 新建”,然后单击“ 项目”。
- 在“ 项目 类型”下,单击“ Visual C# 项目”。 在 “模板”下,单击“ ASP.NET Web 应用程序”。
- 在 “名称 ”文本框中,键入 BinaryDemo。 在“ 位置 ”文本框中,键入 ServerName。 如果使用本地服务器,请将位置保留为
http://localhost
。
将 PDF 文件添加到项目
若要设置项目,以便在 创建 ASPX 页 部分添加并运行代码,必须先将 Adobe Acrobat (.pdf) 文件添加到当前项目。
若要在 Visual Studio .NET 中执行此操作,请执行以下步骤:
- 在解决方案资源管理器中,右键单击项目节点,单击“添加”,然后单击“添加现有项”。
- 浏览到系统上 .pdf 文件的位置。
- 单击以突出显示文件,然后单击“ 打开”。
- 在 Visual Studio .NET 解决方案资源管理器中,右键单击该文件,然后单击“重命名”。 重命名 .pdf 文件,使其与以下代码中使用的文件名 Acrobat.pdf 匹配。
此外,请确保 Adobe Acrobat Reader 安装在从中查看.aspx页面的客户端计算机上,以便浏览器可以正确读取和呈现二进制数据。 可以从 Adobe 网站下载 Adobe Acrobat Reader。
创建 ASPX 页
将名为 BinaryData.aspx 的新.aspx 页添加到当前项目,如下所示:
在解决方案资源管理器中,右键单击项目节点,单击“添加”,然后单击“添加 Web 窗体”。
将页面命名为BinaryData.aspx,然后单击“ 打开”。
注意
确保页面已添加到项目,级别与在上一部分添加的 .pdf 文件相同。 这一点非常重要,因为代码最初使用相对路径来引用 .pdf 文件。
在编辑器中,右键单击“BinaryData.aspx”,然后单击“ 查看代码”。
突出显示以下代码,右键单击代码,然后单击“ 复制”。 在
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(); }
在“文件”菜单上单击“全部保存”。
在“ 生成 ”菜单上,单击“ 生成”。
若要运行代码,请在 解决方案资源管理器 中右键单击“BinaryData.aspx”,然后单击“在浏览器中查看”。 如果出现提示,请单击“ 打开 ”以在浏览器中打开并呈现文件。
如果要使用前面的代码来支持其他二进制文件类型,则必须修改字符串中的 ContentType
值,以便它指定适当的文件格式。 此字符串的语法格式为 type/subtype
,其中 type
是常规内容类别, subtype
是特定的内容类型。
有关受支持的内容类型的完整列表,请参阅 Web 浏览器文档或当前 HTTP 规范。 以下列表概述了一些常见 ContentType
值:
text/HTML
image/GIF
image/JPEG
text/plain
Application/msword
Word文件) (Application/x-msexcel
Excel 文件) (
References
有关详细信息,请访问以下网站:
有关本文的 Visual Basic .NET 版本,请参阅 如何使用 ASP.NET 和 Visual C# .NET 将二进制文件写入浏览器。
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈