2010-04-16 28 views
0

我正在嘗試爲用戶創建導出功能,以便能夠將文檔下載到zip文件中。當文件位於本地時,我可以使用該功能,並且可以在本地使用絕對路徑。但是在與基礎設施團隊交談之後,我發現這些文檔並不是與Web服務器存儲在同一臺機器上,而是位於異地的服務器場中。我可以查詢給我一個文件路徑的數據庫。但路徑更多的是相對路徑。如何檢索在Web服務器計算機上找不到的文件/文檔

所以任何人都可以幫助我理解如何使用FileInfo從另一臺機器獲取文件。我相信基礎設施團隊表示有一個虛擬驅動器安裝在外部服務器上。我能夠使用虛擬路徑嗎?謝謝。

回答

0

如果該文件位於您的LAN或VPN上,則可以使用UNC路徑。

通常爲你要訪問的計算機的文件UNC路徑,使用它的管理共享,像這樣:

\\計算機名\ C $

您可以使用所有正常的文件IO功能與UNC路徑一起工作。如果因爲需要身份驗證而無法訪問計算機,則應通過DllImport使用Win32 API WNetUseConnection

[DllImport("Mpr.dll")] private static extern int WNetUseConnection(
     IntPtr hwndOwner, 
     NETRESOURCE lpNetResource, 
     string lpPassword, 
     string lpUserID, 
     int dwFlags, 
     string lpAccessName, 
     string lpBufferSize, 
     string lpResult 
    ); 

如果該文件位於某些計算機是從網絡上的不同,那麼你就必須要經過一些類型的服務器,如FTP或HTTP這是在遠程機器上託管。

+0

@ Brian-謝謝你,我想說這是一個VPN。只要我能找到它的路徑,我會嘗試一下,讓它知道它是否有效。感謝您的建議。 – jhorton 2010-04-16 15:38:36

相關問題