我們的應用程序需要用戶從他們的照相機中選擇照片。我在添加此功能時測試過的相機在「我的電腦」中都顯示爲驅動器盤符,因此加載和使用該映像非常簡單。一位同事給我的照相機,而不是作爲驅動器安裝,它觸發了可怕的「掃描儀和照相機嚮導」。我很高興看到在「我的電腦」中有一個攝像頭條目,事實上我可以瀏覽並從標準OpenFileDialog中選擇文件。 - 太棒了!讀取從「掃描儀和照相機」打開的文件拋出UnauthorizedAccessException
除了當我嘗試訪問文件時,我收到「UnauthorizedAccessException」。經過調查,我發現它實際上是從這個位置加載文件: C:\ Documents and Settings \ sk \ Local Settings \ Temporary Internet Files \ Content.IE5 \ AXY0DNE3
什麼在這個世界上? IE5.5?
從這裏,事情繼續下去。該位置顯然是一個非常好的隱藏位置,我只能通過直接在瀏覽器欄中輸入路徑來導航。然後我想我可以將文件複製到一個臨時位置並從那裏使用它。所以我做到了,但我仍然無法使用該文件,拋出相同的異常: 訪問路徑'C:\ Documents and Settings \ sk \ Local Settings \ Temp \ IMG_0005 [1] .jpg'被拒絕。
看來權限設置與文件一起被複制(有意義)。
作爲解決方法,我已經指示我的用戶使用可怕的小嚮導,將文件複製到臨時位置,然後從那裏選擇它們。我不喜歡這個,但是我需要今天部署這個功能。有了解決方法,我現在想嘗試在可能的情況下繼續工作。理想情況下,我可以只使用該文件而不將其複製到其他位置等等。我不明白的是爲什麼UnauthorizedAccessException正在被拋出。
我希望有人在那裏面臨類似的挑戰,並可以分享如何使用這些文件的一些技巧。我寧願不走整個WIA路線,並通過相機界面處理文件。