写文件的Web服务器 - ASP.NET
-
13-09-2019 - |
题
我只是想一个TextBox控件的内容写在Web服务器的根目录文件......我怎么规定的呢?
请记住,我在本地\ COMMON \ IDE目录,而不是我的项目目录(这是我认为根源是当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. }
解决方案
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虚拟路径和返回一个绝对的。 “〜”用于解析为应用程序的根。
其他提示
有像在WriteAllText
类常见的操作上的文件File
方法。
使用MapPath
方法来获得物理路径在你的web应用程序的文件。
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
}
}
请记住,你也得给文件夹IUSR帐户的写权限,一旦你上传到Web服务器。
我个人建议不要允许根文件夹的写权限,除非你有一个很好的理由这样做。然后你需要小心你允许被保存,所以你不小心让别人写自己的ASPX页面什么样的文件。
不隶属于 StackOverflow