txt ファイルと html ページの両方で http リクエストに応答したいと思います。このようにして、クライアントはファイルを保存し、そのファイルの内容の要約を html ページで見ることができます。
ファイルはオンザフライで生成されるため、サーバーで状態管理を使用して、2 番目の要求で概要を生成する必要があります。これを避けて、これを 1 つの応答にまとめたいと思います。
カスタム ActionResult はどのようになりますか?
txt ファイルと html ページの両方で http リクエストに応答したいと思います。このようにして、クライアントはファイルを保存し、そのファイルの内容の要約を html ページで見ることができます。
ファイルはオンザフライで生成されるため、サーバーで状態管理を使用して、2 番目の要求で概要を生成する必要があります。これを避けて、これを 1 つの応答にまとめたいと思います。
カスタム ActionResult はどのようになりますか?
私はこのように答えました:
いいえ、セキュリティ上の理由から、ダウンロード用のマルチパート添付ファイル(電子メールなど)はサポートされていません。これは「ドライブバイダウンロード」と呼ばれます。
Gmailは、ファイルを動的に圧縮することでこれを処理することに注意してください。あなたもすべき。 http://forums.asp.net/t/1240811.aspx
最近のブラウザがマルチパート/ミックスをサポートしているとは思いません。
XSLTスタイルシートを参照してXMLを送信できます。ブラウザは変換を実行し、結果のHTML出力を表示できます。
また、ユーザーは「ファイル->名前を付けて保存...」を実行するだけでXMLファイルを保存できます。
要約を通常の HTML ビューとして表示し、その要約の下に、バイナリ データを返す別の ActionResult を指すリンクを提供しないでください...
public ActionResult SendFile(int id)
{
File file = FileRepository.GetFile(id);
byte[] fileData = file.FileData.ToArray();
return File(fileData, file.FileMimeType, file.FileName);
}
私はこのトピックについていくつか検索しましたが、驚いたことに、人々はすでにこれを行っているようです。こちらで説明を見つけましたが、パブリック テスト URI が提供されていないため、これでブラウザーの動作をテストできませんでした。また、アーカイブ ファイルをクライアントに送信するソリューションについても説明します。しかし、それはあなたが探しているものではないと思いますよね?
マルチパート応答の例を示す別の記事を次に示します。残念ながら、デモ URI は機能していないようです。
状況は次のとおりです。HTTP マルチパート応答を実行できます。アプリケーション コードでそれらを処理するためのクライアント (少数) ライブラリがあります。ブラウザの動作をテストする必要があります (ここに声があります)。この機能の使用は実験的なようであり、通信の両端を制御して相互運用性の問題を排除できる場合にのみ使用することをお勧めします。