2012-04-02 112 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

您正在复制从一台计算机文件到其他,但是网络服务是本地帐户,这是不同的两台电脑。所以你需要一个域帐户来运行你的工作进程。

相关问题