我想根据绝对虚拟目录获取对应的物理路径,但我使用Server.MapPath 和 Request.MapPath 都报同一个错误 “System.Web.HttpException: “http://localhost/My51”不是有效的虚拟路径。”
看MSDN上帮助MapPath的参数明明是可以使用绝对路径和相对路径的!但为什么我使用绝对路径就是不可以?难道是微软带我笼子还是我有哪里没配置好或使用不正确?
形如 http://www.my51.com/user/index.apsx 我还可以想办法换成 "~/user/index.aspx".
但我现在要获取二级域名(http://img/my51.com)对应的物理路径,就没办法变成上面的形式了!
这个问题我要怎么解决呢?
看MSDN上帮助MapPath的参数明明是可以使用绝对路径和相对路径的!但为什么我使用绝对路径就是不可以?难道是微软带我笼子还是我有哪里没配置好或使用不正确?
形如 http://www.my51.com/user/index.apsx 我还可以想办法换成 "~/user/index.aspx".
但我现在要获取二级域名(http://img/my51.com)对应的物理路径,就没办法变成上面的形式了!
这个问题我要怎么解决呢?
解决方案 »
- MVC添加视图出错:不存在类型或命名空间名称。但已using
- 在Web有什么可以代替PictuerBox的一个Handle属性
- 请教做动态图表的思路
- 请教如何在asp.net里使用yahoo! map(急!)
- 带图片的HyperLink控件如何控制里面的图片
- TreeView导出数据的问题!!!!!
- 请问,在页面加载时,如何选中Treeview某一节点?
- 在框架内共享数据库连接的问题
- Jquery.scrollpagination.js 瀑布流分页(滚动条分页)用过的有木有,有木有?
- 請問如何將資源文件.resources轉換成.dll文件?急!
- Convert.ToInt32(cmd.ExecuteScalar())提示缺少一个参数,新手请求帮助!
- 请大家给点网站思路
传递给 MapPath 方法的路径必须为应用程序相对路径,而不是绝对路径。
如
System.IO.FileInfo fileinfo = new System.IO.FileInfo(Server.MapPath(@"bin\Test.xml"));
string fileDirectory = fileinfo.DirectoryName;
都是这样说的。但MSDN上明明说可以使用绝对路径的.NET Framework 类库
HttpRequest..::.MapPath 方法 (String)
将指定的虚拟路径映射到物理路径。命名空间: System.Web
程序集: System.Web(在 System.Web.dll 中) 语法
Visual Basic(声明)Public Function MapPath ( _
virtualPath As String _
) As String
Visual Basic(用法)Dim instance As HttpRequest
Dim virtualPath As String
Dim returnValue As StringreturnValue = instance.MapPath(virtualPath)
C#public string MapPath(
string virtualPath
)
Visual C++public:
String^ MapPath(
String^ virtualPath
)
J#public String MapPath(
String virtualPath
)
JScriptpublic function MapPath(
virtualPath : String
) : String参数
virtualPath
类型:System..::.String当前请求的虚拟路径(绝对路径或相对路径)。返回值
类型:System..::.String由 virtualPath 指定的服务器物理路径。