在ASP.NET中,如何让浏览器将字符串内容下载到文件中?(C#)

5 c# csv asp.net export file

我想从ASP.NET应用程序创建一个用于导出/下载的文本文件,如*.csv.我知道Response.TransmitFile,但我想这样做,而无需在服务器上物理创建和保存文件.那可能吗?有没有人这样做过?

Che*_*eso 13

当您说"创建要导出的文件"时,我知道您希望将其下载到浏览器中.如果是这种情况,这是一个例子.

public void btnGo_Click (Object sender, EventArgs e)
{
    Response.Clear();

    string fileName= String.Format("data-{0}.csv", DateTime.Now.ToString("yyyy-MMM-dd-HHmmss")); 
    Response.ContentType = "text/csv";
    Response.AddHeader("content-disposition", "filename=" + fileName);

    // write string data to Response.OutputStream here
    Response.Write("aaa,bbb,ccc\n");

    Response.End();
}
Run Code Online (Sandbox Code Playgroud)

引用:RFC 4180

  • @Cheeso:在输出"真实"数据之前清除响应区域.ASP.NET在它甚至到达调用事件处理程序之前加载页面后做了很多事情. (2认同)

Joe*_*orn 1

尚未保存的文件只是一个字符串变量或 MemoryStream。但对于大量数据,您可能不希望将其全部保存在内存中。获得这个“文件”后,您想用它做什么?