加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何使用Server.MapPath来获取ASP.NET中的网站文件夹外的位置

发布时间:2020-12-15 20:13:25 所属栏目:asp.Net 来源:网络整理
导读:当我的ASP.NET网站使用文档(例如 XML)时,我通常会如下载入文档: Server.MapPath("~DocumentsMyDocument.xml") 但是,我想将Documents文件夹移出网站文件夹,以便它现在是网站文件夹的兄弟.这将使维护文档更容易. 但是,重写文档加载代码如下: Server.MapPat
当我的ASP.NET网站使用文档(例如 XML)时,我通常会如下载入文档:
Server.MapPath("~DocumentsMyDocument.xml")

但是,我想将Documents文件夹移出网站文件夹,以便它现在是网站文件夹的兄弟.这将使维护文档更容易.

但是,重写文档加载代码如下:

Server.MapPath("../../Documents/MyDocument.xml")

导致ASP.NET的投诉,它不能“退出顶级目录”.

所以任何人都可以建议如何在网站文件夹外相对指定文件夹的位置?由于明显的部署原因,我真的不想指定绝对路径.

谢谢

大卫

解决方法

如果您知道相对于您的Web根目录,可以使用Server.Mappath获取Web根目录的文本位置,然后在路径( http://msdn.microsoft.com/en-us/library/system.io.path_methods.aspx)上获取路径的方法.

在粗略的未经检查的代码如:

webRootPath = Server.MapPath("~")
docPath = Path.GetFullPath(Path.Combine(rootPath,"../Documents/MyDocument.xml"))

对不起,如果我得到了语法错误,但Path类应该是你以后玩真正的FS路径而不是Web类型路径.

您的方法失败的原因是Server.MapPath在您的Web服务器上存在一个位置,因为它位于服务器层次结构根目录的顶部,因此您所提供的位置无效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读