2014-12-08 41 views
0

我有一個簡單的函數,應該將一個文件路徑作爲一個字符串,然後創建一個相對路徑主要應用工作目錄:URI和C#的問題:URI以「./」開頭,無法讀取或用作路徑

private string ConvertToLocal (string path) 
{ 
     Uri finalURI; 

     Uri applicationURI = new Uri (System.AppDomain.CurrentDomain.BaseDirectory); 

     string rebuiltPath = applicationURI.ToString() + path; 
     Uri targetURI = new Uri (rebuiltPath); 
     finalURI = applicationURI.MakeRelativeUri (targetURI); 

     return finalURI.ToString(); 
} 

它應該返回一個很好的簡單字符串,它後來用來保存相對URI。這個想法是允許加載獨立於當前目錄的資產。我認爲它會產生一個像「\ Resources \ Images \ img.png」這樣的路徑,但它不會那樣工作。不僅如此,但由於字符串格式化的原因,我一直都會遇到異常,因爲它始終帶有點斜線,例如:「./C:/Users/Foo/Bar/Resources/Images/img .png「,如果我嘗試使用它,它會產生一個異常。我找不到任何幫助,文檔沒有提到任何內容,所以我在這裏問這裏希望得到一些幫助。謝謝。

+1

我認爲你正在尋找[Path.Combine](http ://msdn.microsoft.com/en-us/library/system.io.path.combine%28v=vs.110%29.aspx)。 – 2014-12-08 02:38:40

回答