将文件写入到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
类中有一些像WriteAllText
的File
的常用操作。
使用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页面。