環境 win 10

使用原因:

    剛剛開始做項目,上傳的附件都直接存在網站目錄下了. 使用 Server..MapPath("~/")或 AppDomain.CurrentDomain.BaseDirectory 方式取的網站運行的物理根路徑 ,  但在後期使用過程中發現用户上傳的東西越來越多.放在網站目錄下使網站所在的盤符使用越來越大. 最終不得不把上傳路徑改掉. 

  一開始想去程序裏改.但上傳接口太多.少了漏了還是有風險的.而且改了要等程序更新才會有效. 所以這種方式被否了 , 然後又想用iis 建虛擬目錄的方式來操作.把路徑映射到資料盤去. 但發現 這種方式可以滿足在程序裏用Server..MapPath("~/")方式獲取根路徑的. 遇到BLL/公共類庫使用 AppDomain.CurrentDomain.BaseDirectory 來取的就不使用了. 所以很快也被否了. 最後查了下直接在window下建目前映射的 信息查到了以下方式 親測可用

    mklink /j  "映射為哪個路徑" "從哪個來映射"    網上的解釋是説這種方式把它們鏈接起來了(我的理解 就是做了映射關係) 

例 mklink /j "D:\a" "C:\a"  把C盤下的A目錄 映射到D盤的 a目錄下  這樣直接 就可以從D:\a 訪問到 c:\a了 新產生的圖標有一個快捷方式的操作. 但這樣鏈接起來的區別於快捷方式. 大家可以試一下

mklink 還有其它的幾種方式 

  • /D:創建目錄符號鏈接。默認為文件符號鏈接。 (不佔空間)
  • /H:創建硬鏈接,而不是符號鏈接。  (只能在同盤符下操作 會產生新一份數據)
  • /J:創建目錄聯接。   ( 不佔空間)

參數

  • Link:指定新的符號鏈接名稱。
  • Target:指定新鏈接引用的路徑(相對或絕對)