1

我正在尝试将文件从 C 驱动器上的某个位置复制到映射的网络驱动器 (Z),即 \address\content\

但是我收到以下错误消息:

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)

我检查了目录的安全设置,我可以看到以下用户确实对文件夹具有完全访问权限

  • 用户
  • 系统
  • 网络服务
  • 架子
  • 史蒂文·韦德
  • 管理员
  • 用户

任何想法为什么我不能通过 ASP.NET 复制它们?

史蒂文

4

2 回答 2

0

标签表示一个映射的驱动器,因为这些驱动器没有为这些用户映射(它不是系统范围的设置),所以它不会工作。

即使这不是使用映射驱动器而是共享它确实是一个坏主意,我之前所做的是使用 FileSystemWatcher 类实现 FileWatcherService 并使用 api 复制,该服务作为已知的 DOMAIN 用户,这具有所有权限。就像将文件放到受监视的目录中一样容易,您的服务可以在验证副本后清理该文件,对我来说似乎更整洁一些。

您甚至可以将文件写回另一个目录并监视它以检查它是否被复制:)

于 2012-04-02T11:59:35.503 回答
0

您正在将文件从一台计算机复制到另一台计算机,但 NETWORK SERVICE 是本地帐户,两台计算机不同。因此,您需要一个域帐户来运行您的工作进程。

于 2012-04-02T12:01:54.907 回答