2

下記の質問への回答が必要です。しかし、最初にシナリオを提供させてください

シナリオ

webforms ベースの asp.net アプリケーションを作成しました。以下は、アプリケーションのコンポーネントです

  1. Varbinary(MAX) 列を持つテーブル。
  2. グリッドビューとファイル アップロード コントロールを含む Web ページ。

fileupload コンポーネントを使用してファイルをアップロード/ダウンロードするためのコードを作成しました。これはかなりうまくいっています。

質問。

ファイルを開く機能を提供する可能性を検討しています。明確にするために、(ファイルのダウンロードとは異なり) ファイルを開くことは、ファイルの種類に応じてファイルを開くことです。IE の場合は .xls ファイルの場合は Excel、.doc の場合は word などです。つまり、登録されたプログラムを使用して、ファイル。

これはasp.netアプリケーションで可能ですか?
これを防ぐセキュリティ上の考慮事項はありますか? (可能性は高いと思われます)

実際、私は経験豊富な winforms プログラマーですが、asp.net には比較的慣れていません。

回答/ヒント/追加情報は大歓迎です

前もって感謝します

ノマド

4

1 に答える 1

1

次の StackOverflow の回答を確認してください: C# Asp.net write file to client

必要な 3 行は次のとおりです。

Response.ContentType = "text/plain";
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.AddHeader("Content-Disposition", "attachment;filename=yourfile.txt");

重要なことの 1 つは、さまざまなファイル拡張子のさまざまなコンテンツ タイプを調査する必要があることです。XLS/X、DOC/X、PDF などはすべて、異なる ContentType 文字列を持っています (簡単に検索できます)。

幸いなことに、おそらく既にファイル名をデータベースに保存しているので、文字列操作を使用してファイル拡張子を取得し、データベース リストの拡張子と ContentType から検索するか、単にリストを作成して "ハードコーディング」がそこにあります。

于 2013-06-27T16:11:26.707 に答える