0

我有一个 asp.net c# web 应用程序。在其中一个页面上,我有一个按钮,按下时我希望它创建一个带有特定文本的文本文件并将其保存到用户 PC。我不想将它保存在服务器或任何东西上。

我目前有这个将“测试”写入文件:

string fileLoc = "filePath";
            FileStream fs = null;
            fs = File.Create(fileLoc);

            StreamWriter sw = new StreamWriter(fileLoc);
            sw.WriteLine("test");

            fs.Close();
            sw.Close();

如何将其保存到用户计算机。

谢谢您的帮助!。

4

3 回答 3

0

ASP.NET 在服务器上运行。如果您想使用客户端的计算机,您将使用 Java Script 进行操作。我建议您使用任何用 javascript 编写的开源项目,例如https://github.com/eligrey/FileSaver.js

于 2013-11-14T15:33:30.800 回答
0

您必须通过操作方法返回它。

public ActionResult DownloadFile(){
 return File(filePath, "text/plain", "MyFileName");
}

您无法将其显式保存到用户 PC,因为您根本无权访问它。将其作为ActionResult(更具体地说:)FileResult返回将作为下载返回。

于 2013-11-14T15:34:36.553 回答
0

您无法将文件直接保存在客户端中。您必须将其写入响应,然后将其作为下载发送回客户端。有很多方法,其中一种包括将文件流直接写入响应中,例如:

Response.ContentType = "text/plain";
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.AddHeader("Content-Disposition", "attachment;filename=yourfile.txt");

参考:C# Asp.net 向客户端写入文件

于 2013-11-14T15:35:50.013 回答