7

ASP.NET の URL から物理ファイルパスを取得する方法はありますか?

Scenerio: 2 つのサーバー上にあるアプリがありますが、今ではさらに多くのサーバー上にあり、各サーバーはそれを異なる物理ファイル パスに配置します。今、私はこれをやっています:

//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\\";

どうすればいいですか?

4

3 に答える 3

8

HttpServerUtility.MapPathサーバー側で使用して、ファイルの物理パスを取得し、それをApplicationorSessionオブジェクトに返すことができます。これは、現在行っていることと同じです。

URLの物理パスについては、URLを書き換えることができるため、存在しない場合があります。

于 2010-09-30T18:38:32.830 に答える
4

これServer.MapPath ( "/" );またはこれHttpContext.Current.Server.MapPath ( "/" );はあなたが必要なものを与えるはずです。

于 2010-09-30T18:41:17.397 に答える