【问题标题】:Write permission for folder on a remote server远程服务器上文件夹的写入权限
【发布时间】:2012-02-03 06:18:50
【问题描述】:

我在 localhost 托管一个网站,需要使用 FileUploadControl 将图像文件上传到另一个名为 ImageServer 的服务器。

if (FileUploadControl.HasFile)
    {
        try
        {
            string filename = Path.GetFileName(FileUploadControl.FileName);
            FileUploadControl.SaveAs(@"\\ImageServer\" + filename);
        }
        catch (Exception ex)
        {
            throw;
        }
    }

但是我一尝试提交图片就遇到了这个权限错误。

异常详情:System.UnauthorizedAccessException:对路径“\ImageServer\xxx.jpg”的访问被拒绝。

ASP.NET 无权访问请求的资源。考虑 向 ASP.NET 请求授予对资源的访问权限 身份。 ASP.NET 有一个基本进程标识(通常 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 上的网络服务),如果 该应用程序不是模拟的。如果应用程序是 冒充 via ,身份将是 匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的用户 请求用户。要授予 ASP.NET 对文件的访问权限,请右键单击该文件 在资源管理器中,选择“属性”并选择“安全”选项卡。点击 “添加”以添加适当的用户或组。突出显示 ASP.NET 帐户,然后选中所需访问权限的复选框。

我查看了文件夹安全选项卡,网络服务、IUSR、IIS AppPool\Image 和每个人都被授予完全控制权。还能缺少什么?我不确定我应该给 ImageServer 上的图像文件夹什么权限才能让我的本地主机向它们写入文件。

P/S:两台服务器都使用 IIS 7.5

通过 Windows 资源管理器手动将文件复制到 \\ImageServer\ 也可以

【问题讨论】:

  • 检查该用户对该文件夹的写入权限...

标签: asp.net file-upload permission-denied


【解决方案1】:

主要技巧是创建一个指向 \\ImageServer\ 的虚拟目录。

我找到了一篇文章here。虽然是关于 IIS 6,但我认为在 IIS 7 上工作也不会有问题。

【讨论】:

    猜你喜欢
    • 2014-11-29
    • 2017-02-15
    • 2011-04-18
    • 2014-12-07
    • 2012-05-16
    • 2011-08-21
    • 1970-01-01
    • 2014-11-29
    • 2013-05-16
    相关资源
    最近更新 更多