1

我正在尝试使用 Visual Studio Express 2012 在 ASP.NET 中设计一个 Web 表单。

我需要从 some 中获取数据text boxes,并将其写入Text file.

这是一个非常简单的程序,但我无法设置文件路径

此应用程序将发送给其他人,他们必须从他们的计算机上运行该项目。

我想要的文件被调用Database.txt,它位于D:\Project\bin\Database.txt.

因此,如果他将此文件夹粘贴到他的桌面上,它将变为C:\Users\Desktop\Project\bin\Database.txt.

无论项目文件夹在哪里,我都无法设置可以找到此文件的动态路径。

4

3 回答 3

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();
    }
}
于 2013-04-06T10:26:38.290 回答
1

使用 Server.MapPath("/") 获取你的虚拟目录的物理路径

看到这个。发布 server.mappath Server.MapPath(".")、Server.MapPath("~")、Server.MapPath(@"\")、Server.MapPath("/")。有什么区别?

于 2013-04-06T10:38:21.923 回答
0

您可以做的是将路径放入web.config文件并根据要求设置值。

这是一些可以帮助您的示例代码

这将进入您的 web.config。

<configuration>
    <appSettings>
        <add key="myFilePath" value="C:\\whatever\\Data\\"/>
    </appSettings>
</configuration>

这就是您阅读它的方式:

path = System.Web.Configuration.WebConfigurationManager.AppSettings["myFilePath"].ToString();
于 2013-04-06T10:23:47.327 回答