MVCプロジェクトでは、クリックするとユーザーに関連付けられた任意の数のオブジェクト(Listとして提供)を取得し、オブジェクトの属性のCSVファイルを動的に作成するActionLinkを使用していますダウンロードを促す。ファイルはサーバー上に残すべきではないので、ダウンロード後に削除するか、ストリームなどからダウンロードする必要があります。これについてどうやって行くのが一番ですか?私は手動でCSV文字列をコンパイルし、コントローラ内でHttpResponse.Write(String)
を使用する例を見てきましたが、このベストプラクティスですか?あなたは、ストリームを持っている場合は動的CSVファイルのダウンロード
2
A
答えて
4
私はこれに似た機能を持っています。私はあなたがそれを渡すUserオブジェクトの各メンバーを自動的に見つける "より良い"方法があると確信していますが、このように動作します。
public ActionResult ExportCSV(List<User> input)
{
using (MemoryStream output = new MemoryStream())
{
using (StreamWriter writer = new StreamWriter(output, Encoding.UTF8))
{
foreach (User user in input)
{
writer.Write(user.firstattribute);
writer.Write(",");
writer.Write(user.secondattribute);
writer.Write(",");
writer.Write(user.thirdattribute);
writer.Write(",");
writer.Write(user.lastattribute);
writer.WriteLine();
}
writer.Flush();
}
output.Position = 0;
return Controller.File(output, "text/comma-separated-values", "report.csv");
}
}
0
手動で文字列を組み立てる必要があり、その後、return Content(str, "text/csv");
3
、returning a FileStreamResult
はおそらく、ASP.NET MVCでそれを行うには、「クリーン」な方法です。
0
LINQ to CSVは、CSVコンテンツを生成するための素晴らしいライブラリです。あなたのCSVを生成したら、の方法をController
にして、あなたの行動からFileStreamResult
を返してください。 FileStreamResult
かその他のタイプのStream
のいずれでも、任意のストリームを応答として送信することができます。
関連する問題
- 1. 強制的にCSVファイルをダウンロードする
- 2. ダウンロードcsvファイルのループバック
- 3. ダウンロードCSVファイルには、
- 4. (CSVファイル1)のダウンロード可能なCSVハイパーリンク
- 5. RspecテストCSVファイルのダウンロード
- 6. ipadにCSVファイルをダウンロード
- 7. EmberJsでCSVファイルをダウンロード
- 8. リンクをクリックした後のCSVファイルの自動ダウンロード
- 9. 角度csvファイルをダウンロードするURLをリクエストし、強制的にダウンロードします
- 10. .aspx生成ファイルを自動的にダウンロード
- 11. C#MVC動的ファイル名をダウンロード
- 12. コードからのCSVファイルのダウンロード
- 13. jQueryリンク付きのcsvファイルをダウンロードonclick
- 14. R shiny:複数の.csvファイルをダウンロード
- 15. Csvファイルのダウンロードanglejs Jax-RsとJava
- 16. データベースへのAJAXリクエスト - .csvファイルをダウンロード
- 17. StreamingHttpResponseを使用した大規模なCSVファイルのダウンロードとダウンロード
- 18. apiからCSVファイルをダウンロードする
- 19. リモートcsvファイルをダウンロードせずに読む
- 20. ruby sinatraでftpからcsvファイルをダウンロード
- 21. csvファイルをダウンロードするREST POSTエンドポイント
- 22. CSVファイルをbashシェルでダウンロードする
- 23. StreamingOutputでCSVファイルをダウンロードするには
- 24. koajsでCSVファイルをダウンロードするには
- 25. 動的にロードされたファイルを強制的にダウンロードする
- 26. HTTP投稿およびCSVファイルをダウンロードするダウンロード -
- 27. Phonegap/Cordova/HTML5 CSVファイルをダウンロードしてダウンロードする
- 28. Spring MVCアプリケーションでCSVをダウンロード中 - ファイルがダウンロードされません。
- 29. Bash/Shell CSVファイルのリンクからファイルをダウンロード
- 30. Django Adminのファイルの動的リストからのダウンロード
また、この方法では、各属性がカンマなしの単純な文字列であることが前提です – Brandon