大家好
最近遇到一個情況
因為我有一個服務是架設在 windows 的 IIS 上
然後該服務最近需要新增存取網路硬碟服務的功能
結果我發現
如果直接掛載該網路硬碟在電腦上
然後IIS 的 django 去存取
是完全找不到的
其實想一想也是合理
因為使用者不一樣
## IIS 腳色 與 UNC虛擬資料夾問題方向
例如: 該網路硬碟我使用者是 administrator
但是IIS啟用的腳色通常是 IIS_IUSRS
要直接存取掛載的網路硬碟確實會出現問題
通常這種情況可以參考這篇:
### IIS站點/虛擬目錄中訪問共享目錄(UNC)以及建立後的應用程序的信任級別問題
但是今天我遇到的情況是
該網路硬碟我也無法進去新增帳號
他當初就給一個 administrator 帳號密碼而已
這就尷尬了
但是我還是嘗試去新增UNC資料夾與權限
就直接用 administrator 這帳號
且有確認 UNC 虛擬資料夾確實可以運作
但是~
發現在 python 還是抓不到 ....
一時之間也搞不清楚到底是什麼問題
所以只好尋找其他方向
## python 指令掛載
然後我又繼續爬文
發現還有一個解決方案
就是在 python 直接呼叫 command line 掛載硬碟
參考以下2篇
以下是範例
import subprocess winCMD = 'NET USE ' + settings.DOWNLOAD_DIR + ' /User:' + settings.DOWNLOAD_DIR_USERNAME + ' ' + settings.DOWNLOAD_DIR_PASSWORD subprocess.Popen(winCMD, shell=True)
在程式中可以先檢測是否可以抓到資料夾
如果不行就執行這行指令
然後存取路徑就直接使用網路芳鄰的路徑
例如:
\\10.58.100.123\myDir\
問題應該就能解決囉
給大家參考囉
感恩

留言板
歡迎留下建議與分享!希望一起交流!感恩!