2013-05-27 30 views
0

打開我有以下代碼:找不到使用FileStream文件例外,在資源管理器中

FileStream file = new FileStream(@"\\srv\dscan$\001\unknown\2012-04\0011200001001700_001.pdf", System.IO.FileMode.Open); 

它總是拋出一個FileNotFoundException。奇怪的是,如果我將上述完全相同的路徑粘貼到Windows資源管理器中,則可以找到並完全打開該文件。

什麼可能導致這種情況?有共享網絡驅動器上處理文件流的特殊方式嗎?

+0

將路徑複製到WinExplorer,按回車鍵,在瀏覽器欄中複製路徑並嘗試。 –

+0

當我試圖將其複製到資源管理器和/或Chrome中時,它可以工作並下載/打開文件。 – vanneto

+0

是的,但是當你按下瀏覽器上的回車鍵時,路徑會改變嗎? –

回答

2

什麼可能導致此?

正在執行包含此代碼的進程的帳戶沒有足夠的權限從此位置讀取。

+0

我試着以管理員身份運行程序,結果相同...爲什麼它在Explorer /我的瀏覽器中工作? – vanneto

-1

C#對待與Windows資源管理器不同的路徑。 還有一件事,如果你檢查這些帖子: Reading File From Network Location

你會發現你需要更多的配置工作。

+0

「C#處理與Windows資源管理器不同的路徑」可以更明確嗎? – TopinFrassi

1

什麼達林季米特洛夫說。

您在Windows中登錄的用戶帳戶似乎具有足夠的權限,或者您可能已輸入用戶名和密碼,之後您將其標記爲「記住」。

運行代碼時,它可能在最小權限(UAC)下運行,或者您可能正在創建一個Windows服務,該服務一起運行在不同的帳戶下。

問題也可能與美元符號有關,這表明您正試圖達到隱藏份額。我不知道這本身是否是一個問題,但可能會影響您的(充分)權利。

相關問題