【问题标题】:ASP.NET - Copy files to mapped network driveASP.NET - 将文件复制到映射的网络驱动器
【发布时间】:2012-04-02 11:56:11
【问题描述】:

我正在尝试将文件从 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)

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

  • IUSER
  • 系统
  • 网络服务
  • 机架
  • 史蒂文.wade
  • 管理员
  • 用户

知道为什么我不能通过 ASP.NET 复制它们吗?

史蒂文

【问题讨论】:

    标签: asp.net file copy mapped-drive


    【解决方案1】:

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

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

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

    【讨论】:

    • 嗨,Krystan,你有这个应用程序的 zip 版本吗?
    • 不,我是为一家公司编写的,并且不拥有代码,除了没有冒犯,但我写这些东西是有报酬的。尽管谷歌上有很多这样的链接,但它并不是什么大问题:forums.asp.net/t/1438769.aspx/1
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-04
      • 2017-07-19
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      相关资源
      最近更新 更多