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

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

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

要件

  • Microsoft .NET Framework
  • Windows
  • インターネット インフォメーション サーバー (IIS)

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

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

  1. Visual Studio .NET を開く
  2. [ ファイル ] メニューの [ 新規] をポイントし、[ プロジェクト] をクリックします。
  3. [ プロジェクト の種類] で、[ Visual C# プロジェクト] をクリックします。 [ テンプレート] で、[ ASP.NET Web アプリケーション] をクリックします。
  4. [ 名前 ] テキスト ボックスに「 BinaryDemo」と入力します。 [ 場所 ] テキスト ボックスに 、ServerName を入力します。 ローカル サーバーを使用している場合は、場所を として http://localhost残します。

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

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

Visual Studio .NET でこれを行うには、次の手順に従います。

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

さらに、ブラウザーがバイナリ データを適切に読み取ってレンダリングできるように、.aspx ページが表示されるクライアント コンピューターに Adobe Acrobat Reader がインストールされていることを確認します。 Adobe Web サイトから 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. [ファイル] メニューの [すべて保存] をクリックします。

  5. [ ビルド ] メニューの [ ビルド] をクリックします。

  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 C# .NET を使用してブラウザーにバイナリ ファイルを書き込む方法」を参照してください。

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

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