2011-12-01 159 views
1

我想保存在d驅動如何將物理路徑轉換爲虛擬路徑在C#

string fileName = Path.Combine(Server.MapPath(@"D:\Files"), File_Video.FileName); 

我怎樣才能將其轉換成虛擬路徑

+0

你不能直接將文件保存到物理路徑嗎?如果你已經知道這一點,你不要映射任何東西。 – millimoose

回答

2

我不知道這些文件是什麼代碼示例正在顯示。 Server.MapPath將虛擬路徑作爲其參數,而不是物理路徑。如果你想filename包含物理路徑,那麼你只需要做:

string fileName = Path.Combine(@"D:\Files", File_Video.FileName); 

如果你想知道如何獲得d虛擬目錄:\文件(例如,所以你可以鏈接到的東西在裏面)那麼這很難,因爲不一定有任何映射。通常要訪問這些文件,您可以設置一個指向該物理路徑的虛擬目錄,並將其硬編碼到您的鏈接中。否則,你可以創建一個代理頁面,作爲文件的代理。這樣做的好處是能夠進行安全檢查等,以確保它們只能被登錄用戶訪問等(因爲視頻很大,如果他們可能不希望整個互聯網可以訪問它知道正確的網址)。

我希望這可以解決您的問題。如果不是,你能否更清楚你的問題是什麼?

0

Server.MapPath()是基本上使用,當你有一個虛擬的路徑。對於Physical Path,你可以直接使用Path.Combine(param1,param2)

希望這會對你有所幫助!

+1

你的回答補充說明什麼是Chris未解釋的? –

+0

@ScottChamberlain:其他答案的幫助.. –

相關問題