找出如何做到这一点应该不难。基本上我正在尝试获取一个字符串并让客户端在单击按钮时保存它。它应该弹出一个保存/打开对话框。没有额外的花里胡哨或任何东西。这不是火箭科学,(或者我会这么认为)。
似乎有很多不同的方式(StreamWriter、HttpResponse 等),但我找不到的示例都无法正常工作或解释发生了什么。提前致谢。
我发现的许多代码块中的一个示例......
(这只是一个例子,请随意不要以此为基础回答。)
String FileName = "FileName.txt";
String FilePath = "C:/...."; //Replace this
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath);
response.Flush();
response.End();
第 2 行表示替换该字符串。如何?这段代码被宣传为会弹出一个对话框。我不应该在代码中设置路径,对吧?
编辑:最终结果(再次编辑,删除必须在 End() 之前;)
string FilePath = Server.MapPath("~/Temp/");
string FileName = "test.txt";
// Creates the file on server
File.WriteAllText(FilePath + FileName, "hello");
// Prompts user to save file
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath + FileName);
response.Flush();
// Deletes the file on server
File.Delete(FilePath + FileName);
response.End();