我正在尝试使用Visual Studio Express 2012在ASP.NET中设计Web表单。
我需要从某些text boxes
获取数据,然后将其写入Text file
。
这是一个非常简单的程序,但我在设置文件路径时遇到问题。
此应用程序将发送给其他人,他们必须从他们的计算机上运行该项目。
我想要的文件名为Database.txt
,可在D:\Project\bin\Database.txt
找到。
因此,如果他将此文件夹粘贴到桌面中,则会变为C:\Users\Desktop\Project\bin\Database.txt
。
无论项目文件夹在哪里,我都无法设置可以找到此文件的动态路径。
答案 0 :(得分:2)
使用此代码:
public void WriteToFile(String text)
{
string logFileName = Server.MapPath("~/bin/DataBase.txt");
using (StreamWriter writer = File.AppendText(logFileName))
{
writer.WriteLine(text);
writer.Flush();
writer.Close();
}
}
答案 1 :(得分:1)
使用Server.MapPath(“/”)获取虚拟目录的物理路径
看到这个。发布server.mappath Server.MapPath("."), Server.MapPath("~"), Server.MapPath(@"\"), Server.MapPath("/"). What is the difference?
答案 2 :(得分:0)
您可以将路径放在web.config
文件中,并根据要求设置值。
以下是一些可以帮助您的示例代码
这会进入你的web.config。
<configuration>
<appSettings>
<add key="myFilePath" value="C:\\whatever\\Data\\"/>
</appSettings>
</configuration>
这就是你读它的方式:
path = System.Web.Configuration.WebConfigurationManager.AppSettings["myFilePath"].ToString();