从c#ASP.NET应用程序创建和保存文本文件

时间:2009-12-17 16:05:13

标签: c# asp.net

我希望能够创建一个文本文件,并让用户将其保存到自己的PC中。目前我必须这样做:

StreamWriter sw;
sw = File.CreateText("C:\\results.txt");

哪个obv保存在Web服务器上,但是如何用链接到自己的计算机替换该字符串?我查看了SaveFileDialog但它似乎只适用于Windows Forms而不是ASP站点,有什么建议吗?

提前致谢

4 个答案:

答案 0 :(得分:5)

您需要告诉用户浏览器下载该文件。您可以使用以下代码:

Response.ClearContent();
Response.ClearHeaders();
Response.ContentType="text/plain";
Response.AppendHeader( "content-disposition", "attachment; filename=" + filename );
Response.AppendHeader( "content-length", fileContents.Length );
Response.BinaryWrite( fileContents );
Response.Flush();
Response.End();

其中fileContents是文件内容的byte []。 and filename是要向用户建议的文件的名称。

答案 1 :(得分:2)

您需要编写一个ASPX(或ASHX)页面,将您的数据发送到网上,然后添加Content-Disposition header

答案 2 :(得分:1)

您可以将文件流式传输到浏览器。 Here是一篇很好的文章。

答案 3 :(得分:1)

您需要将文件保存到可公开访问的路径,然后向用户显示该文件的链接。