バックエンドでMVC3.netコントローラーを使用して、HttpPostを実行し、HttpContextを介してファイルを送信しています。
サーバーがファイルを読み取ると、アップロード結果とともに文字列のリストが返されます。
これまでのところ、2つのシナリオを機能させることができました。
1)文字列のリストを単一のタブ区切り文字列としてJsonResultとして返します
string tabSeparatedMessages = "";
foreach (string message in messageLog)
{
tabSeparatedMessages = tabSeparatedMessages + message;
if (message != messageLog[messageLog.Count - 1])
{
tabSeparatedMessages = tabSeparatedMessages + '\n';
}
}
return this.Json(new
{
success = true,
total = messageLog.Count,
data = tabSeparatedMessages
}, "text/html", JsonRequestBehavior.AllowGet);
2)テキストファイル内の文字列のリストをActionResultとして返します
string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".txt";
using (StreamWriter writer = new StreamWriter(fileName))
{
foreach (string message in messageLog)
{
writer.WriteLine(message);
}
}
return File(fileName, "text/plain", "UPLOAD_RESULTS.txt");
私の問題は、これらの各メソッドの要素が必要なのに、2つを組み合わせるのが難しいことです。JsonResultが必要なのは、ブール値の「success」値を返して、クライアントでモーダルな待機中のメッセージを解放できるようにするためです。文字列のリストをGUIコンポーネントに解析する代わりに、クライアントがファイルをダウンロードできるように、ActionResultが必要です。
JsonResultの一部としてダウンロードするテキストファイルを返す方法や、ActionResultを使用してJsonデータを返す方法はありますか?
読んでくれてありがとう