【问题标题】:Server.MapPath not workingServer.MapPath 不工作
【发布时间】:2011-04-10 20:08:44
【问题描述】:

我第一次尝试访问我在 IIS 中创建的虚拟目录中的文件,但结果很奇怪。

操作系统:Windows XP Pro

IIS:5.1

开发平台:Visual Studio 2008

语言:C#

虚拟目录名称:门户

本地路径:C:\digital_communications_report_portal

默认网站本地路径:c:\inetpub\wwwroot

我可以在http://localhost/portal/testFile.xlsx 下载文件,没有任何问题。

我尝试其中任何一个

string realFilename = Server.MapPath(ResolveUrl("~/portal/testFile.xlsx"));
string realFilename = Server.MapPath(ResolveUrl("localhost/portal/testFile.xlsx"));

并获取“C:\Documents and Settings\jjohnson\My Documents\Visual Studio 2008\WebSites\clientsite\localhost\portal\testFile.xlsx”,这是我的项目路径,其中虚拟路径位于末尾,而不是一个有效的路径。我尝试使用波浪号或 localhost,但我得到“无法映射路径 '/portal/testFile.xlsx'”。例外。

任何想法我做错了什么?

【问题讨论】:

    标签: visual-studio visual-studio-2008 iis virtual-directory server.mappath


    【解决方案1】:

    如果我没记错的话,Server.MapPath(ResolveUrl("~/relative/path/to/file")) 不是你想要的。它将产生一个/rooted/path/to/file,当传递给Server.MapPath() 时将不会产生一个有效的位置。

    只需使用Server.MapPath("~/relative/path/to/file");

    更新

    您遇到的问题是由于您在相对 URL 中包含了虚拟目录名称(“门户”)。您的相对 URL 不需要指定虚拟目录名称,只需指定相对于应用程序根目录的所需文件的路径。

    【讨论】:

    • 这仍然给我与 resolveurl 相同的结果...C:\Documents and Settings\jjohnson\My Documents\Visual Studio 2008\WebSites\clientsite\localhost\portal\testFile.xlsx
    • @Jeremy 查看我的更新答案。问题是您不应该在相对 URL 中指定虚拟目录名称。我刚刚在自己的系统上测试并确认了这一点。
    • @Nathan,非常感谢您对此的耐心等待,但我仍然遇到了麻烦。如果我理解正确,如果我想进入文件夹 /portal/help_desk (其中门户是我的虚拟目录),我会查看 Server.MapPath("~/help_desk");但是当我这样做时,我得到 C:\\Inetpub\\clientsite\\help_desk 这是项目的路径,当我试图到达 C:\digital_communications_report_portal\help_desk (根文件夹是门户指向的地方)。
    • 我会告诉你我正在尝试做什么...我正在尝试显示虚拟目录中的文件夹和文件。文件夹应该是深入到子文件夹的链接,文件应该是可下载的链接。因此,理论上,我单击 help_desk 文件夹并使用 DirectoryInfo 对象,获取 help_desk 中的文件夹列表,并使用 FileInfo 对象获取 testFile.xlsx。这两个对象的所有成员都被分配给超链接标签。我的所有功能都在本地工作,但是当我尝试通过 IIS 作为虚拟目录运行它时,我开始遇到麻烦。
    • @Jeremy 如果您在非虚拟目录(即 Web 服务器的根目录)中执行应用程序,您会遇到同样的困难吗?
    猜你喜欢
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 2011-07-07
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多