我試圖讓我的圖像查看器應用程序與通過單擊直接在Zip文件夾內的圖像文件(使用Windows資源管理器瀏覽Zip文件)打開的文件一起工作。該應用程序似乎與正確的命令行中運行,它看起來像這樣:UnauthorizedAccessException從Zip文件的臨時文件夾中的文件路徑
"C:\myApp.exe" "C:\Users\Admin\AppData\Local\Temp\Temp1_Wallpapers.zip\Wallpaper1.jpg"
文件正在讀下面的代碼:
using (var fs = new FileStream(path, FileMode.Open))
和異常是在該行拋出:
例外:拋出:「訪問路徑'C:\ Users \ Admin \ AppData \ Local \ Temp \ Temp1_Wallpapers.zip \ Wallpaper1.jpg'被拒絕。」 (System.UnauthorizedAccessException)
System.UnauthorizedAccessException被拋出:「訪問路徑'C:\ Users \ Admin \ AppData \ Local \ Temp \ Temp1_Wallpapers.zip \ Wallpaper1.jpg'被拒絕。」
我想這可能是一個問題,如何解釋路徑。中間有一個.zip
,所以這可能是問題,但我不知道如何解決這個問題。
此外,直接在該路徑上直接打開文件(而不是通過壓縮文件夾瀏覽器窗口)會導致相同的異常。
不,讀取只讀文件不是未經授權的,但您用來讀取它們的代碼是要求過多(讀/寫)權限。修復並且錯誤消失。 – EricLaw
@EricLaw有關如何做到這一點的任何提示? – user1306322
嘗試向FileStream構造函數添加第三個參數:FileAccess.Read。這實在是愚蠢的.Net默認情況下是最具限制性的('ReadWrite')權限,但我猜想,否則論壇將充滿「爲什麼我不能寫入我的文件流!?!?!」 – nemec