狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

錯誤記錄-FileStream訪問被拒絕

freeflydom
2023年10月28日 9:43 本文熱度 571

簡介:

問題:因項目需要,軟件需要讀取授權文件中的密文與本機驗證碼做一定的邏輯比對,使用FileStream實現文件的讀取,在本機調試沒問題,但在其他同事電腦上有一些出現授權一直不通過的情況。

--MaQaQ 2023-10-24

分析:

1、首先懷疑是否授權文件生成出錯,反復生成了幾遍,還確認了下文件中的密文,出錯的可能性不大,pass。

2、其次懷疑是部署的電腦環境問題,巧合的是,授權不通過的電腦剛好是win11,而我本機是win10,一度讓我懷疑是操作系統問題,但這個也太玄學了,先擱置。

3、查看了下授權驗證的邏輯,發現拋異常了也會導致驗證失敗,折騰了一下最后還是定位到異常的位置:

using (Stream stream = new FileStream(fullName, FileMode.Open))

獲取到的異常信息類似:System.UnauthorizedAccessException:“對路徑“xxx”的訪問被拒絕。這個我就很熟悉了,一般是因為權限問題,右鍵點開授權文件的屬性一看,果然只讀被勾上了。

 4、檢查了下一開始生成的授權文件,只讀屬性是沒有勾選的,所以在本機調試沒問題。那么問題是出在發送和接收文件這塊。

5、我們發送授權文件時是直接用的微信,但前面說到,測試時只是部分電腦出問題,于是我問了下同事的接收方法,有些是收到文件直接復制,有些是右鍵另存為,我自己測試了下,確實直接復制的會被改成只讀,到此真相大白。

6、另外,如果我們對文件只需要讀取,那么可以將上述拋異常的代碼改為:

using (Stream stream = new FileStream(fullName, FileMode.Open, FileAccess.Read))

就可以打開只讀的文件,如果需要的是讀寫的權限,那么還是需要手動將屬性中的只讀去掉勾選。

總結:

1、微信直接復制的文件是只讀的,可以使用另存為

2、對于只讀的文件,可以將訪問模式設置為Read

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則保留追究法律責任的權利。


該文章在 2023/10/28 9:43:11 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved