使用C#将文件"即时"写入客户端

Eri*_*ric 7 c# asp.net

我正在使用C#和ASP.NET 2.5.

我想要一种简单的方法来动态生成"文件"(比如本例中的csv文件)并将其传输到客户端而不实际将其写入服务器文件系统.

Eri*_*ric 10

经过一番搜索和反复试验后,我开发了以下内容.它似乎完全适合该法案.它应该非常容易适应PHP或任何其他服务器端软件,因为它主要涉及修改标头.

protected void streamToResponse()
{
    Response.Clear();
    Response.AddHeader("content-disposition", "attachment; filename=testfile.csv");
    Response.AddHeader("content-type", "text/csv");

    using(StreamWriter writer = new StreamWriter(Response.OutputStream))
    {
        writer.WriteLine("col1,col2,col3");
        writer.WriteLine("1,2,3");
    }
    Response.End();
}
Run Code Online (Sandbox Code Playgroud)