【问题标题】:Finding absolute path using a relative path使用相对路径查找绝对路径
【发布时间】:2016-11-21 05:59:44
【问题描述】:

我有一个相对路径,比如 images\test\test.pdf。此相对路径位于文件夹 Test

我的源码在文件夹D:\Demo\Demo1

我在D盘有两个文件夹-一个是Demo,另一个是Test

当我使用时

System.Web.Hosting.HostingEnvironment.MapPath("\\images\\test\\test.pdf")

我得到的绝对路径是 D:\Demo\Demo1\images\test\test.pdf

所以我收到一个错误,即没有这样的路径。任何想法如何将此相对路径指向 Test 文件夹?我已经试过了:

System.Web.Hosting.HostingEnvironment.MapPath("..\\images\\test\\test.pdf")

System.Web.Hosting.HostingEnvironment.MapPath("~\\images\\test\\test.pdf")

两者都不工作。

【问题讨论】:

  • 你有TEST和Demo在同一个文件夹吗?
  • 测试和演示的路径是
  • D:\Demo 和 D:\Test
  • 试试 ..\TEST\images\test\test.pdf

标签: absolute-path


【解决方案1】:

我知道这个答案有点长,但我想展示它在你的情况下是如何工作的,以便它可以用于更广泛的问题。

在您的情况下,一个简单的 \name of your folder\file name 将起作用,假设它的目录确实位于您站点文件夹的根文件夹中,而不是驱动器文件夹中。

绝对和相对路径名

绝对或完整路径

绝对路径或完整路径以驱动器号开头,后跟 冒号,如 D:

相对路径

相对路径是指相对于当前位置的位置 目录。相对路径使用两个特殊符号,点 (.) 和一个双点 (..),它转换为当前目录和 父目录。双点用于向上移动 等级制度。一个点代表当前目录本身。

在下面的示例目录结构中,假设您使用的是 Windows 资源管理器导航到 D:\Data\Shapefiles\Soils。导航到后 此目录,相对路径名将使用 D:\Data\Shapefiles\Soils 作为当前目录(直到您导航到一个新目录,在 这点新目录成为当前目录)。这 当前目录有时被称为根目录。

如果您想从当前目录 (Soils) 导航到 Landuse 目录,您可以在 Windows 资源管理器地址编辑框中键入以下内容: ..\土地使用

Windows 资源管理器将导航到 D:\Data\Shapefiles\Landuse。使用 D:\Data\Shapefiles\Landuse 作为当前目录的更多示例是

.. (D:\Data\Shapefiles)

.... (D:\Data)

....\Final (D:\Data\Final)

。 (D:\Data\Shapefiles\Landuse - 当前目录) ...\Soils (D:\Data\Final\Soils)

.....\Final..\Shapefiles.\Landuse (D:\Data\Shapefiles\Landuse)


注意:您不能在任何 ArcGIS 应用程序中键入相对路径(使用点和双点表示法)。也不能在 Python 脚本中使用相对路径。

注意:相对路径不能跨越磁盘驱动器。例如,如果您的当前目录是 D:,则不能使用相对路径导航到 E: 上的任何目录

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-25
    • 2015-12-24
    • 2012-01-11
    • 2010-09-15
    • 2013-04-17
    • 1970-01-01
    • 2012-01-10
    • 2013-07-14
    相关资源
    最近更新 更多