次の方法で共有


ASP.NET と C# を使用してバイナリ ファイルをブラウザーに書き込む

この記事では、C# を使用してファイルからバイナリ データを取得し、そのデータをブラウザーに書き込む方法を示すサンプル ページを作成します。 このデモでは Adobe Acrobat (.pdf) ファイルを使用しますが、この手順を他のバイナリ ファイル形式に適用できます。

元の製品バージョン: ASP.NET
元の KB 番号: 306654

要件

  • Microsoft .NET フレームワーク
  • Windows
  • Internet Information Server (IIS)

Visual C# を使用して ASP.NET Web アプリケーションを作成する

このセクションでは、BinaryDemo という名前の新しい ASP.NET Web アプリケーションを作成する方法について説明します

  1. Microsoft Visual Studio を開く。
  2. File メニューの New をポイントし、Project を選択します。
  3. [すべての言語]、[Windows]、[すべてのプラットフォーム]の下の [C#] を選択しテンプレートの一覧で [ASP.NET Web Application(.NET Framework) を選択します。
  4. [ Name テキスト ボックスに、「 BinaryDemo」と入力します。 [ Location テキスト ボックスに、サーバー名を入力します。 ローカル サーバーを使用している場合は、場所を http://localhostのままにします。

PDF ファイルをプロジェクトに追加する

[ASPX ページの作成]セクションでコードを追加して実行できるようにプロジェクトを設定するには最初に Adobe Acrobat (.pdf) ファイルを現在のプロジェクトに追加する必要があります。

Visual Studio でプロジェクトに PDF ファイルを追加するには、次の手順に従います。

  1. ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[追加] を選択し、Existing Item を選択します。
  2. システム上の.pdf ファイルの場所を参照します。
  3. 選択してファイルを強調表示し、 Open を選択します。
  4. Visual Studio ソリューション エクスプローラーでファイルを右クリックし、Rename を選択します。 .pdf ファイルの名前を、次のコードで使用されるファイル名 Acrobat.pdf と一致するように変更します。

さらに、ブラウザーがバイナリ データを適切に読み取ってレンダリングできるように、.aspx ページが表示されるクライアント コンピューターに Adobe Acrobat Reader がインストールされていることを確認します。 Adobe Acrobat Reader は、 Adobe Web サイトからダウンロードできます

ASPX ページを作成する

  1. 次のように、 BinaryData.aspx という名前の新しい.aspx ページを現在のプロジェクトに追加します。

    1. ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、追加>新しい項目>Web フォームを選択します。

    2. ページ BinaryData.aspxに名前を付け、 [追加]を選択します。

      Note

      前のセクションで追加した.pdf ファイルと同じレベルで、ページがプロジェクトに追加されていることを確認します。 これは、コードが相対パスを使用して最初に.pdf ファイルを参照するため、非常に重要です。

  2. ソリューション エクスプローラーで、BinaryData.aspxを右クリックし、[コードの表示] 選択

  3. 次のコードを強調表示し、コードを右クリックし、 Copy を選択します。 分離コード ページの Page_Load イベントで、Edit メニューの Paste を選択して、コードを貼り付けます。

    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. Build メニューの Build を選択します。

  6. コードを実行するには、ソリューション エクスプローラーで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 ファイルの場合)

関連情報

詳細については、以下のサイトを参照してください。

この記事の Visual Basic .NET バージョンについては、「ASP.NET と Visual Basic .NET を使用してブラウザーにバイナリ ファイルを書き込むを参照してください。

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。