我正在尝试使用 FileUpload 控件将上传的文件读取到服务器,但是,出现以下错误:
ASP.NET 无权访问请求的资源。考虑向 ASP.NET 请求标识授予对资源的访问权限。ASP.NET 有一个基本进程标识(通常是 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 上的网络服务),如果应用程序不模拟,则使用该标识。如果应用程序通过 模拟
<identity impersonate="true"/>
,则身份将是匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的请求用户
我查了一下,好像这个文件夹没有网络服务账号的权限,所以我添加了,但是问题依旧。这是我的 FileUpload 控件的代码:
<asp:FileUpload ID="FileUpload1" runat="server" style="top: 164px; left: 12px; position: absolute; height: 22px; width: 281px" />
这是我用来将文件保存在服务器中的代码:
protected void Button1_Click1(object sender, EventArgs e)
{
FileUpload1.SaveAs("C:\\folder\\autoTrack.xlsx");
StatusLabel.Text = FileUpload1.PostedFile.FileName;
if (FileUpload1.PostedFile.FileName != "")
{
this.readFile("C:\\folder\\autoTrack.xlsx"); //this is where the program crash due to lack of permissions!
}
else
{
StatusLabel.Text = "Select a file to start the process!";
}
}
c:\folder 文件夹的 ACL 具有具有完全控制权限的网络服务,并且启用了继承以传播到子对象。
此外,我读到在应用程序池的“身份”选项卡中使用域帐户可以解决问题,但是如果我将身份从预定义的网络服务更改为我的域用户,则在尝试访问我的应用程序时出现“服务不可用”。
对此的任何帮助都非常感谢。