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

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

请记住,我正在testing这个本地…它不断写入文件到我的程序文件\ Visual Studio \ Common \ IDE目录而不是我的项目目录(这是我认为根是当Web服务器启动closures) 。

我的问题是否与在web.config中指定正确的位置有关? 我尝试过,仍然没有去…

非常感谢…

保护无效TestSubmit_ServerClick(对象发件人,EventArgs e)
     {
         StreamWriter _testData = new StreamWriter(“data.txt”,true);
         _testData.WriteLine(TextBox1.Text);  //写入文件
         _testData.Close();  //closuresStreamWriter的实例。
         _testData.Dispose();  //从内存中处理       
     } 
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. } } 

Server.MapPath采用虚拟path并返回一个绝对path。 “〜”用于parsing应用程序根目录。

File类中有一些像WriteAllTextFile的常用操作。

使用MapPath方法获取Web应用程序中文件的物理path。

 File.WriteAllText(Server.MapPath("~/data.txt"), TextBox1.Text); 
 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 } } 

请记住,一旦您上传到您的Web服务器,您还必须为该文件夹提供IUSR帐户的写入权限。

我个人build议不要允许写入根文件夹,除非你有足够的理由这样做。 然后,你需要小心什么样的文件,你可以保存,所以你不会无意中让别人写自己的ASPX页面。