2009-07-19 12 views
2

"〜/ Uploads/Images /"を絶対パスに変換しようとしています。私はFileStreamを作成できます。私はVirtualPathUtilityとPath.Combineを試しましたが、何も私に正しい道を与えてくれないようです。私が得た最も近いものはVirtualPathUtility.ToAppRelativeでしたが、それはC:の直接の子としてのファイルの場所でした。ASP.NET:相対パスを持つPath.Combine

これを行う方法が必要です。

+0

あなたは絶対パスまたは絶対URLをしたいですか? – tvanfosson

答えて

8

あなたはMapPathメソッドを探しています。

// get the path in the local file system that corresponds to ~/Uploads/Images 
string localPath = HttpContext.Current.Server.MapPath("~/Uploads/Images/"); 

ファイルパスを作成するためにPath.Combineと一緒にそれを使用します。

string fileName = Path.Combine(
         HttpContext.Current.Server.MapPath("~/Uploads/Images/"), 
         "filename.ext"); 
using (FileStream stream = File.OpenRead(fileName)) 
{ 
    // read the file 
} 
+0

それは素晴らしいです、ありがとう。 – Echilon