使用服务器.MapPath定位到正确的目录

本文关键字:服务器 MapPath 定位 | 更新日期: 2023-09-27 18:08:19

我正在使用ASP.NET构建一个web应用程序。

我的物理硬盘:

我的文本文件路径是:D:'Users'(MyName)'Documents'Visual Studio 2013'Projects'(ProjectName)'(ProjectName)'Data'TextFiles'someFile.txt

.cs文件位于:D:'Users'(MyName)'Documents'Visual Studio 2013'Projects'(ProjectName)'(ProjectName)'Account'someCSFile.cs

在我的代码中,我有以下内容:
string fileName= Server.MapPath("TextFile/someFile.txt");

代码抛出异常,表示Could not find a part of the path 'D:'Users'(MyName)'Documents'Visual Studio 2013'Projects'(ProjectName)'(ProjectName)'Account'TextFile'someCSFile.cs

我将如何使用服务器。MapPath使其"上升一个级别",然后找到"数据"文件夹>"TextFiles">最后的"someFile.txt"没有硬编码整个文件路径?

使用服务器.MapPath定位到正确的目录

应该可以了

string fileName= Server.MapPath(@"..'Data'TextFile'someFile.txt");

看看这个:关于服务器的StackOverflow帖子。MapPath

您可以使用..上升一级:

string fileName= Server.MapPath("../Data/TextFile/someFile.txt");

你也可以从应用程序的根目录开始,用斜杠开始:

string fileName= Server.MapPath("/Data/TextFile/someFile.txt");