在ASP中,如何用代码获取虚拟目录的物理目录?

橘子香水 2006-03-16 08:42:21
主页目录位于C:\Inetpub\wwwroot\sante
在下面建立虚拟目录doc = d:\data\document

文件fileload.asp位于 sante\download下

在文件中有代码:
Server.MapPath("doc") 结果返回:C:\Inetpub\wwwroot\sante\download\doc
Server.MapPath("/doc") 结果返回:C:\Inetpub\wwwroot\doc
Server.MapPath("../doc") 结果返回:C:\Inetpub\wwwroot\sante\doc


怎样才能通过doc获得目录:d:\data\document?
...全文
387 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sparks345 2006-03-17
  • 打赏
  • 举报
回复
doc=cStr(doc)
Server.MapPath(doc)
橘子香水 2006-03-17
  • 打赏
  • 举报
回复
我知道了,只要把虚拟目录建立在网站的主目录下,
Server.MapPath("/doc")就对了.
当然把网站的主目录设置在santa也对,如果santa是一个应用,这样:
Server.MapPath("/santa/doc")才对.
我一直以为在一个应用下建立的虚拟目录,通过Server.MapPath("/doc")可以得到物理路径.
头脑短路了.
chenyu112 2006-03-17
  • 打赏
  • 举报
回复
Server.mappath("/你要取的虚拟目录名称"),我试过了,可以
chenyu112 2006-03-17
  • 打赏
  • 举报
回复
学习一下
caixinke 2006-03-17
  • 打赏
  • 举报
回复
把主目录改成C:\Inetpub\wwwroot\santa,兄弟,咋这么笨呀
橘子香水 2006-03-17
  • 打赏
  • 举报
回复
不行,我把主目录改成C:\Inetpub\wwwroot也不行,太怪了.
caixinke 2006-03-17
  • 打赏
  • 举报
回复
改变主目录为C:\Inetpub\wwwroot\sante,目前的主目录是C:\Inetpub\wwwroot,只要改了什么都就好了。
橘子香水 2006-03-17
  • 打赏
  • 举报
回复
<a href="doc/asp_1.htm">...</a>
能够打开d:\data\document中的文件asp_1.htm
橘子香水 2006-03-17
  • 打赏
  • 举报
回复
Server.MapPath("/sante/doc")返回的是:c:\inetpub\wwwroot\sante\doc
caixinke 2006-03-17
  • 打赏
  • 举报
回复
更正一下,上面最后一句应该为Server.MapPath("/sante/doc")
caixinke 2006-03-17
  • 打赏
  • 举报
回复
你想在文件C:\Inetpub\wwwroot\sante\download\fileload.asp文件中取得doc虚拟目录的物理路径d:\data\document对吧,分析一下,按找你说的,虚拟目录download和虚拟目录doc应该是同级关系,你当前在虚拟目录download下对吧,所以应该是Server.MapPath("../doc") ,而你说这个取回的不正确是C:\Inetpub\wwwroot\sante\doc,不是想要的d:\data\document,我感觉这个是不可能的,非要找原因那我想只有一个原因:你的站点C:\Inetpub\wwwroot\sante不是iis的主目录,你的站点是虚拟目录sante,真正的主目录是C:\Inetpub\wwwroot,所以你要么改变主目录为C:\Inetpub\wwwroot\sante,要么用Server.MapPath("../sante/doc")
橘子香水 2006-03-16
  • 打赏
  • 举报
回复
按道理, Server.MapPath("doc")应该返回d:\data\document?
橘子香水 2006-03-16
  • 打赏
  • 举报
回复
我想把上传的数据存储另一个磁盘上,如在d:\data\document,
所以建立了一个虚拟目录doc指向它,因为写入文件需要知道物理路径,所以不知道在fileload.asp中怎样才得到doc的实际物理目录.
fluxayxxx 2006-03-16
  • 打赏
  • 举报
回复
不懂你的意思....
文件fileload.asp位于 sante\download下,所以Server.MapPath("") 取得的结果就是C:\Inetpub\wwwroot\sante\download

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧