ASP.Net中的相对路径
我正在尝试使用Visual Studio Express 2012在ASP.NET中设计一个web表单 我需要从一些ASP.Net中的相对路径,asp.net,visual-studio,Asp.net,Visual Studio,我正在尝试使用Visual Studio Express 2012在ASP.NET中设计一个web表单 我需要从一些文本框中获取数据,并将其写入文本文件 这是一个非常简单的程序,但设置文件路径时遇到问题 此应用程序将被发送给其他人,他们必须从自己的计算机上运行该项目 我想要的文件名为Database.txt,它位于D:\Project\bin\Database.txt中 因此,如果他将此文件夹粘贴到桌面,它将成为C:\Users\Desktop\Project\bin\Database.txt
文本框
中获取数据,并将其写入文本文件
这是一个非常简单的程序,但设置文件路径时遇到问题
此应用程序将被发送给其他人,他们必须从自己的计算机上运行该项目
我想要的文件名为Database.txt
,它位于D:\Project\bin\Database.txt
中
因此,如果他将此文件夹粘贴到桌面,它将成为C:\Users\Desktop\Project\bin\Database.txt
无论项目文件夹位于何处,我都无法设置可以找到此文件的动态路径。您可以做的是将路径放入
web.config
文件中,并根据需要设置值
下面是一些示例代码,可以帮助您
这将进入您的web.config
<configuration>
<appSettings>
<add key="myFilePath" value="C:\\whatever\\Data\\"/>
</appSettings>
</configuration>
使用此代码:
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();
}
}
使用Server.MapPath(“/”)获取您的虚拟目录的物理路径
看这个。post for server.mappath
在创建.txt文件的地方张贴一些代码。该文件在用户计算机或服务器上的何处?从asp.net只能访问服务器!我更喜欢在写入文件时避免使用绝对路径。。您可以使用
Server.MapPath
方法访问您的应用程序目录与论坛网站不同,我们不使用“感谢”或“感谢任何帮助”或签名。请参阅“.如果其他计算机没有该路径/访问权限怎么办?他必须为运行IIS的用户共享文件夹。那么为什么不能使用Server.MapPath
?您也可以使用该路径,而不是手动设置,但这是所有文件(代码文件dll等)的路径将保留。您不应该将文件保留在那里。为什么?我们可以在应用程序文件夹的根目录中创建一个名为log
或temp
的文件夹。我们可以正确使用该文件夹?这不会影响其他文件(代码或DLL)…通过这种方式,我们所有的应用程序文件只驻留在一个文件夹中,而不是在不同的文件夹中..通过这种方式,我们可以减少对我们网站文件系统的维护..感谢您的快速响应!但这是用C语言编写的,很遗憾,我的项目是基于VB的。或者有什么方法可以将两者集成?再次提前感谢!
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();
}
}