ASP.net(c#)にて、CSV出力したファイルをダウンロードしたいのですが、
なぜかファイルが空っぽ(0キロバイト)でDLされてしまいます。
Response.TransmitFileを使うとブラウザに表示されるだけでDLはされません
ファイル自体はServer.MapPath("./dataout.csv")に正しく保存されているのですが、
アタッチの仕方が悪いのでしょうか?
c#
1//CSV作成 2StreamWriter file = new StreamWriter(@"c:\inetpub\www\app_form\dataout.csv", false, Encoding.UTF8); 3for (int i = 0; i < csvContents.Count; i++) 4{ 5 file.WriteLine(csvContents[i]); 6} 7file.Close(); 8 9//ダウンロード 10System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; 11response.ClearContent(); 12response.Clear(); 13response.ContentType = "text/plain"; 14Response.HeaderEncoding = System.Text.Encoding.UTF8; 15Response.ContentEncoding = System.Text.Encoding.UTF8; 16・ 17・
Response.TransmitFile(Server.MapPath("./dataout.csv")); response.Flush(); response.End(); →これだとファイルはダウンロードされず、ブラウザにCSVの内容が表示されている
Response.AddHeader("Content-Disposition", "attachment;filename=" + @"c:\inetpub\wwwphotoflick\app_form\dataout.csv"); response.Flush(); response.End(); →これだとファイルはダウンロードされるが空っぽのファイルがDLされる
Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.MapPath("./dataout.csv")); response.Flush(); response.End(); →これも同じくファイルはダウンロードされるが空っぽのファイルがDLされる
Web Forms? MVC? どっちですか?
開発環境を書いてください。特に .NET のバージョンが重要です。
回答1件
あなたの回答
tips
プレビュー