将文件写入Web服务器 - ASP.NET

Woo*_*ody 44 c# asp.net file streamwriter

我只想将TextBox控件的内容写入Web服务器目录根目录中的文件...如何指定它?

请记住,我正在本地测试...它一直在将文件写入我的程序文件\ visual studio\Common\IDE目录而不是我的项目目录(我假设root是Web服务器触发的时候) .

我的问题与在web.config中指定正确的位置有关吗?我试过了,但仍然没有...

非常感谢...

protected void TestSubmit_ServerClick(object sender, EventArgs e)
    {
        StreamWriter _testData = new StreamWriter("data.txt", true);
        _testData.WriteLine(TextBox1.Text); // Write the file.
        _testData.Close(); // Close the instance of StreamWriter.
        _testData.Dispose(); // Dispose from memory.       
    }

Dar*_*g8r 76

protected void TestSubmit_ServerClick(object sender, EventArgs e)
{
  using (StreamWriter _testData = new StreamWriter(Server.MapPath("~/data.txt"), true))
 {
  _testData.WriteLine(TextBox1.Text); // Write the file.
 }         
}
Run Code Online (Sandbox Code Playgroud)

Server.MapPath采用虚拟路径并返回绝对路径."〜"用于解析应用程序根目录.


Guf*_*ffa 31

有喜欢的方法WriteAllTextFile类文件上常见的操作.

使用此MapPath方法获取Web应用程序中文件的物理路径.

File.WriteAllText(Server.MapPath("~/data.txt"), TextBox1.Text);
Run Code Online (Sandbox Code Playgroud)


Sea*_*ght 17

protected void TestSubmit_ServerClick(object sender, EventArgs e)
{
    using (StreamWriter w = new StreamWriter(Server.MapPath("~/data.txt"), true))
    {
        w.WriteLine(TextBox1.Text); // Write the text
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果您在后面的代码中编写代码,Server.MapPath是`System.Web.HttpContext.Current.Server.MapPath`. (20认同)

Spe*_*ort 8

请记住,上传到Web服务器后,您还必须为IUSR帐户授予对该文件夹的写入权限.

我个人建议不要允许对根文件夹进行写访问,除非你有充分的理由这样做.然后你需要小心你允许保存哪种文件,这样你就不会无意中允许某人编写自己的ASPX页面.