ASP 的MapPath 的问题

来源:百度知道 编辑:UC知道 时间:2024/06/11 09:18:12
D:\work\
Server.MapPath() 错误 'ASP 0172 : 80004005'

无效 Path

/aspjpegtest.asp,行 22

MapPath 方法的 Path 参数必须是一个虚拟路径。使用了一个物理路径。

wjjname= Server.MapPath("./")
wjjname=wjjname&"\"
错误行:

Set folderObject = fso.GetFolder(Server.MapPath(wjjname&pfname))

Server.MapPath
不能嵌套使用。

你用了两次Server.MapPath

随便去掉一个即可。

Server.MapPath(exp) 里的exp只能是一个虚拟路径,不能用物理路径如

Server.MapPath('/') 表示当前目录 结果是: D:/WWW
但是如果你用
Server.MapPath('D:/WWW') 就不行了,会出错,就像你上面的错误提示一样了。

最近因为要用.Net连接Access数据库,在数据库路径上遇到了麻烦。
找了半天,没搞懂.Net中的目录问题。

在古老的asp中,Server.MapPath无比好用,使用Server.MapPath可以很方便的返回物理路径的上一层;而在.Net中,返回的是虚拟路径的上一层,郁闷。

比如我们localhost的物理目录是“c:\inetpub\wwwroot\”,我们把“D:\mywebsite\test”设置为web共享,在“D:\mywebsite\test”下的文件夹“NewFolder1”中,有文件“webform1.aspx”。

运行以下代码:
Response.Write(Server.MapPath("") + "<br>");
Response.Write(Server.MapPath("..") + "<br>");
Response.Write(Server.MapPath("../") + "<br>");
Response.Write(Server.MapPath("../../") + "<br>");

输出:
D:\mywebsite\test\Ne