Creating file in ASP.NET

本文关键字:NET ASP in file Creating | 更新日期: 2023-09-27 17:58:03

我正在尝试进行

File.WriteAllText(@"C:'sample.text", filename);

其中filename是一个字符串类型的变量,但我认为通过ASP。NET无法创建文件。

有人能给我在系统上创建文件的解决方案吗

甚至我也没能做到这一点

Clipboard.SetText(filename);

它给了我STA异常

或者用另一种方式我在想类似的东西

Response.Reditect("newpage.aspx", _blank, filename) // can this be possible?

将打开一个新页面,其中包含"filename"中的文本

在我看来,您有两个选项,首先要求用户下载文件:

FileInfo file = new System.IO.FileInfo(@"C:'sample.text");
if (file.Exists)
{
    Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
    Response.AddHeader("Content-Length", file.Length.ToString());
    Response.ContentType = "application/octet-stream";
    Response.WriteFile(file.FullName);
    Response.End();
}

或者,根据您的建议,将内容输出到浏览器:然而,我不推荐下面的方法,因为它确实将文件的内容作为文本输出到浏览器,请注意,我对它进行了html编码,这样html就不会通过文本文件注入。

FileInfo file = new System.IO.FileInfo(@"C:'sample.text");
if (file.Exists)
{
     Response.Clear();
     Response.Write(Server.HtmlEncode(File.ReadAllText(file.FullName)));
     Response.End();
}

Creating file in ASP.NET