我希望能够创建一个文本文件,并让用户将其保存到自己的PC中。目前我必须这样做:
StreamWriter sw;
sw = File.CreateText("C:\\results.txt");
哪个obv保存在Web服务器上,但是如何用链接到自己的计算机替换该字符串?我查看了SaveFileDialog但它似乎只适用于Windows Forms而不是ASP站点,有什么建议吗?
提前致谢
答案 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)
您需要将文件保存到可公开访问的路径,然后向用户显示该文件的链接。