【发布时间】: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