2012-04-02 366 views
1

我試圖將文件從C盤上的一個位置複製到映射的網絡驅動器(Z),這是\​​地址\內容\ASP.NET - 將文件複製到映射的網絡驅動器

但是我得到以下錯誤信息:

System.UnauthorizedAccessException: Access to the path '\\192.168.100.227\content\2-Banner-20120402120304.png' is denied. 
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
    at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite) 
    at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite) 
    at Admin.Controllers.OffersController.UploadNewFiles(OfferModel offer) 

我已經檢查安全設置的目錄,我可以看到下面的用戶不具有完全訪問權限的文件夾

  • IUSER
  • 上3210
  • 系統
  • NETWORK SERVICE
  • 機架
  • steven.wade
  • 管理員
  • 用戶

任何想法,爲什麼我不能複製他們通過ASP.NET?

史蒂芬

回答

0

標籤指示的映射驅動器和多數民衆不會因爲這些驅動器不映射爲這些用戶(它不是一個系統級設置)工作。

即使這不是使用映射的驅動器,但共享這是一個壞主意,我以前做的是使用FileSystemWatcher類實現FileWatcherService並使用api複製,服務作爲已知的DOMAIN用戶運行,並具有所有權限。就像將文件放入受監控目錄一樣容易,您的服務可以在複製件驗證後清理該文件,似乎對我來說更加整潔。

你甚至可以寫回一個文件到另一個目錄和監視,以檢查它的被複制:)

+0

嗨克里斯坦,你碰巧有這個應用程序的zip版本? – swade1987 2012-04-02 13:12:50

+0

不,我寫了一個公司,並沒有擁有的代碼,除了沒有進攻,但我有種付出寫這些東西。它沒有biggie,雖然有像谷歌這樣的鏈接噸:http://forums.asp.net/t/1438769.aspx/1 – 2012-04-02 14:00:19

0

您正在複製從一臺計算機文件到其他,但是網絡服務是本地帳戶,這是不同的兩臺電腦。所以你需要一個域帳戶來運行你的工作進程。

相關問題