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

この記事では、ASP.NET と Visual Basic .NET を使用してバイナリ ファイルをブラウザーに書き込む方法について説明します。

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

概要

この詳細な記事では、ファイルからバイナリ データを取得する方法と、ASP.NET と Visual Basic .NET を使用してブラウザーにデータを書き出す方法を示すサンプル ページを作成します。 このデモでは、Adobe Acrobat (.pdf) ファイル (Web アプリケーション開発者が一般的に使用する) を使用しますが、この手順を他のバイナリ ファイル形式に適用できます。

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

要件

  • .NET Framework
  • Windows 2000 または Windows XP
  • インターネット インフォメーション サーバー (IIS)

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

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

  1. Visual Studio .NET を開きます。
  2. [ ファイル ] メニューの [ 新規] をポイントし、[ プロジェクト] をクリックします。
  3. [ プロジェクトの種類] で、[ Visual Basic プロジェクト] をクリックします。 [ テンプレート] で、[ ASP.NET Web アプリケーション] をクリックします。
  4. [ 名前 ] テキスト ボックスに「 BinaryDemo」と入力します。 [ 場所 ] テキスト ボックスに、サーバー名を入力します。 ローカル サーバーを使用している場合は、場所を として 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 Acrobat Reader は、 Adobe Web サイトからダウンロードできます。

aspx ページを作成する

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

    1. ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[追加] をクリックし、[Web フォームの追加] をクリックします。
    2. ページにBinaryData.aspx名前を け、[ 開く] をクリックします。

    注:

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

  2. エディターで、[ BinaryData.aspx] を右クリックし、[ コードの表示] をクリックします。

  3. 次のコードを強調表示し、コードを右クリックし、[ コピー] をクリックします。 Page_Load分離コード ページのイベントで、[編集] メニューの [貼り付け] をクリックして、コードを貼り付けます。

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                'Set the appropriate ContentType.
                Response.ContentType = "Application/pdf"
                'Get the physical path to the file.
                Dim FilePath As String = MapPath("acrobat.pdf")
                'Write the file directly to the HTTP output stream.
                Response.WriteFile(FilePath)
                Response.End()
    End Sub
    
  4. [ファイル] メニューの [すべて保存] をクリックします。

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

  6. コードを実行するには、ソリューション エクスプローラーBinaryData.aspxを右クリックし、[ブラウザーで表示] をクリックします。 メッセージが表示されたら、[ 開く ] をクリックしてブラウザーでファイルを開いてレンダリングします。

注:

上記のコードを使用して他のバイナリ ファイルの種類をサポートする場合は、文字列内の値を ContentType 変更して、適切なファイル形式を指定する必要があります。 この文字列の構文は通常、 型/サブタイプとして書式設定されます。 type は一般的なコンテンツ カテゴリで 、サブタイプ は特定のコンテンツ タイプです。 サポートされているコンテンツ タイプの完全な一覧については、Web ブラウザーのドキュメントまたは現在の HTTP 仕様を参照してください。 次の一覧では、一般的な ContentType 値の概要を示します。

  • "text/HTML"
  • "image/GIF"
  • "image/JPEG"
  • "text/plain"
  • "Application/msword" (Word ファイルの場合)
  • "Application/x-msexcel" (Excel ファイルの場合)

関連情報

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

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