使用 ASP.NET 和 C# 將二進位檔寫入瀏覽器

本文會建立範例頁面,示範如何使用 C# 從檔案擷取二進位數據,然後將數據寫出瀏覽器。 雖然此示範使用 Adobe Acrobat (.pdf) 檔案,但您可以將此程式套用至其他二進位檔格式。

原始產品版本: ASP.NET
原始 KB 編號: 306654

需求

  • Microsoft .NET Framework
  • Windows
  • Internet Information Server (IIS)

使用 Visual C# 建立 ASP.NET Web 應用程式

本節示範如何建立名為 BinaryDemo 的新 ASP.NET Web 應用程式:

  1. 開啟 Microsoft Visual Studio。
  2. 從 [ 檔案] 功能表中,指向 [ 新增],然後選取 [ 專案]。
  3. 選取 [所有語言] 下的 [C#]、[所有平臺] 下的 [Windows],然後在範本清單中選取 [ASP.NET Web 應用程式(.NET Framework)。
  4. 在 [ 名稱] 文本框中,輸入 BinaryDemo。 在 [ 位置] 文字框中,輸入伺服器名稱。 如果您使用本地伺服器,請將位置保留為 http://localhost

將 PDF 檔案新增至專案

若要設定專案,以便您可以在 [建立 ASPX] 頁面區段中新增並執行程式代碼,您必須先將 Adobe Acrobat (.pdf) 檔案新增至目前的專案。

若要將 PDF 檔案新增至 Visual Studio 中的專案,請遵循下列步驟:

  1. 方案總管 中,以滑鼠右鍵按兩下項目節點,選取 [新增],然後選取 [現有專案]。
  2. 流覽至系統上.pdf檔案的位置。
  3. 選取 以反白顯示檔案,然後選取 [ 開啟]。
  4. 在 Visual Studio 方案總管 中,以滑鼠右鍵按兩下檔案,然後選取 [重新命名]。 重新命名.pdf檔案,使其符合下列程式代碼中使用的檔名 Acrobat.pdf

此外,請確定 Adobe Acrobat Reader 已安裝在檢視.aspx頁面的用戶端電腦上,讓瀏覽器能夠正確讀取和轉譯二進位數據。 您可以從 Adobe 網站下載 Adobe Acrobat Reader

建立 ASPX 頁面

  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. 在 [File] \(檔案\) 功能表上,選取 [Save All] \(全部儲存\)

  5. 在 [建置] 功能表上,選取 [建置]。

  6. 若要執行程式代碼,請在 方案總管 中以滑鼠右鍵按兩下BinaryData.aspx,然後選取 [在瀏覽器中檢視]。 如果出現提示,請選取 [開啟 ] 以在瀏覽器中開啟並轉譯檔案。

如果您想要使用上述程式代碼來支援其他二進位檔類型,您必須修改字串中的 ContentType 值,使其指定適當的檔案格式。 此字串的語法會格式化為 type/subtype,其中 type 是一般內容類別,而 subtype 是特定的內容類型。

如需支援內容類型的完整清單,請參閱網頁瀏覽器檔或目前的 HTTP 規格。 下列清單概述一些常見的 ContentType 值:

  • text/HTML
  • image/GIF
  • image/JPEG
  • text/plain
  • Application/msword (適用於 Word 檔案)
  • Application/x-msexcel (適用於 Excel 檔案)

參考資料

如需詳細資訊,請流覽下列網站:

如需本文的 Visual Basic .NET 版本,請參閱 使用 ASP.NET 和 Visual Basic .NET 將二進位檔寫入瀏覽器。

協力廠商資訊免責聲明

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。