有没有办法从ASP.NET的URL获取物理文件路径?
Scenerio:我有一个应用程序在两个服务器上,但它现在将更多,每个服务器将它放在一个不同的物理文件路径.现在我这样做:
//for server 1 if (Request.Url.GetLeftPart(UriPartial.Path).Contains(".com")) { Application["StoreFilesPath"] = "E:\\Data\\rootsite\\f1\\appsite\\Upload\\"; } //for server 2 if (Request.Url.GetLeftPart(UriPartial.Path).Contains(".net")) { Application["StoreFilesPath"] = "E:\\Web\\rootsite2\\f34\\abc\\ghi\\appsite\\Upload\\"; }
但我需要做的是这样的事情:
//for all servers Application["StoreFilesPath"] = getPhysicalFilePath() +"\\Upload\\";
我该怎么做?
解决方法
您可以在服务器端使用
HttpServerUtility.MapPath
以获取文件的物理路径,然后在Application或Session对象中返回它,类似于您现在正在执行的操作.
至于URL的物理路径 – 可能没有,因为URL可以重写.