C# 将文件写入虚拟服务器ASP.NET

C# 将文件写入虚拟服务器ASP.NET,c#,asp.net,csv,export,C#,Asp.net,Csv,Export,可能重复: 这可能是一个愚蠢的问题,我在谷歌上搜索过,但我找不到明确的答案——如何将CSV文件写入Web服务器并将其导出到C#ASP.net?我知道如何生成它,但我想将其保存到www.mysite.com/my.csv,然后将其导出。您不需要将csv文件保存到磁盘,尤其是动态生成的csv文件。您可以直接将其写入响应流,以便用户可以下载: protected void Page_Load(object sender, EventArgs e) { Response.Clear();

可能重复:


这可能是一个愚蠢的问题,我在谷歌上搜索过,但我找不到明确的答案——如何将CSV文件写入Web服务器并将其导出到C#ASP.net?我知道如何生成它,但我想将其保存到www.mysite.com/my.csv,然后将其导出。

您不需要将csv文件保存到磁盘,尤其是动态生成的csv文件。您可以直接将其写入响应流,以便用户可以下载:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Clear();
    Response.ContentType = "text/csv";
    Response.AppendHeader("Content-Disposition", "attachment; filename=foo.csv");
    Response.Write("val1,val2,val3");
}
您还可以编写http处理程序:

public class CsvHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.AppendHeader("Content-Disposition", "attachment; filename=foo.csv");
        context.Response.ContentType = "text/csv";
        context.Response.Write("val1,val2,val3");
    }

    public bool IsReusable
    {
        get { return true; }
    }
}

您可以这样称呼它:
http://mysite.com/csvhandler.ashx

请提供更多详细信息。此CSV文件在何处生成,您希望将其保存在何处,以及将其导出到何处?据我从您的解释中了解,您有一个ASP.NET应用程序,它托管在
www.mysite.com
上,然后它变得不清楚。这与该用户在大约5小时前提出的问题完全相同,目前有3个答案:该问题中的答案或链接都没有解释如何将文件保存到虚拟服务器,因此我想在一个新问题中会更具体。@Romulus,什么是虚拟服务器?CSV文件是由我的应用程序中的一个页面生成的。我想把这个文件保存在某个地方并导出它。e、 g.用户进入www.mysite.com/generatecsv.aspx,获取保存的csv文件作为输出。