首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server.MapPath不工作

Server.MapPath不工作
EN

Stack Overflow用户
提问于 2010-09-11 00:57:06
回答 1查看 4.7K关注 0票数 1

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

操作系统: Windows XP Pro

IIS: 5.1

开发平台: Visual Studio 2008

语言: C#

虚拟目录名称: portal

本地路径: C:\digital_communications_report_portal

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

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

这两个我都试过

代码语言:javascript
复制
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’”。异常。

你知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-11 01:01:56

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

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

更新

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3686611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档