gpt4 book ai didi

c# - 提示用户在 ASP.NET C# 中保存/打开文件

转载 作者:可可西里 更新时间:2023-11-01 08:10:24 26 4
gpt4 key购买 nike

找出如何做到这一点应该不难。基本上我试图获取一个字符串并让客户在单击按钮时保存它。它应该弹出一个保存/打开对话框。没有多余的花里胡哨之类的东西。这不是火箭科学,(或者我认为如此)。

似乎有很多不同的方法(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 行表示要替换该字符串。如何?此代码被宣传为调出一个对话框。我不应该在代码中设置路径,对吧?

编辑:最终结果(再次编辑,删除必须在结束()之前;)

        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();

最佳答案

第 2 行 (FilePath) 指示文件的路径在服务器上

第 8 行:

response.TransmitFile(FilePath);

将该特定文件传输到客户端,这就是弹出保存对话框的内容。

如果你不传输文件,我不确定对话框是否会弹出(即使你设置了标题)

无论如何,我认为第 8 行应该是:

    response.TransmitFile(FilePath + FileName);

关于c# - 提示用户在 ASP.NET C# 中保存/打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10818031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com