您好:
使用某家公司的套件軟體 C#+ASP.NET+JQ
需求:上傳檔案後,要修改檔名的特殊字如「+」==>[+]全形
而正式環境 D:\WEBXX\WEBOOT
D:\WEBXX\WEBOOT\files
因為空間問題,所以利用IIS的功能建立了虛擬目錄: up,關連到SERVER端 F:\XX\upxx\
我在本機端 VS開發時,也在對應的目錄中
WEBOOT\files\建立一個實體 up 資料夾
C#後端程式,使用如下
string path = Directory.GetCurrentDirectory().Replace("NetServer", @"網站WEB容器\Files" );
用來取找到實際路徑
可是,我在開發端,可以正常上上傳,並找到路應\檔案, COPY一個新的檔名,刪掉舊檔名檔案
不過,放到正式IIS上,只能上傳檔案成功的虛擬目錄,但無法 COPY一個新的檔名,刪掉舊檔名檔案
是否為虛擬目錄 實體路徑問題,這要如何解決?
謝謝!
有幾種解決方案:
您好: 謝謝!
1.因為套裝軟體,只能最後修改,所以1無效
2.有涵式可以 統一設定相對路徑嗎? 因為想讓開發與正是路徑設定一致
謝謝!
若使用套裝軟體,可自行寫一支非網頁的程式,使用 FileWatch 監控資料夾,並作檔案改名的工作。
您好: 謝謝!
目前可能先以2的方案,該如何使用? 取得相對路徑,謝謝!
取得相對路徑不需要函數,假設IIS的虛擬目錄對應實體目錄為D:\WEBXX\WEBOOT,原檔在D:\WEBXX\WEBOOT\files,要move至D:\WEBXX\WEBOOT\up,就直接下
System.IO.File.Move("./files/a.txt", "./up/a.txt");
您好:我試過用 相對路徑,但一樣沒有反應,單純試著刪掉原檔,也沒刪掉!
請問 1.是否權限問題? 該如何設定!
2.一般在正式環境,後端有辦法除錯嗎?
謝謝!