这里有几件事可以尝试。一个编辑文件安全性以删除任何“拒绝”访问权限并赋予您的应用程序完全权限,另一个删除文件上的任何“只读”设置并将属性设置为“正常”(我不得不使用这个过去的一个):
protected void Page_Load(object sender, EventArgs e)
{
string path = Server.MapPath("theFileLocation");
RemoveFileSecurity(path, @"App Pool Identity", FileSystemRights.FullControl, AccessControlType.Deny);
AddFileSecurity(path, @"App Pool Identity", FileSystemRights.FullControl, AccessControlType.Allow);
FileAttributes a = File.GetAttributes(path);
a = RemoveAttribute(a, FileAttributes.ReadOnly);
File.SetAttributes(path, FileAttributes.Normal);
}
private FileAttributes RemoveAttribute(FileAttributes attributes, FileAttributes attributesToRemove)
{
return attributes & ~attributesToRemove;
}
private void AddFileSecurity(string fileName, string account, FileSystemRights rights, AccessControlType controlType)
{
FileSecurity fSecurity = File.GetAccessControl(fileName);
fSecurity.AddAccessRule(new FileSystemAccessRule(account, rights, controlType));
File.SetAccessControl(fileName, fSecurity);
}
private void RemoveFileSecurity(string fileName, string account, FileSystemRights rights, AccessControlType controlType)
{
FileSecurity fSecurity = File.GetAccessControl(fileName);
fSecurity.RemoveAccessRule(new FileSystemAccessRule(account, rights, controlType));
File.SetAccessControl(fileName, fSecurity);
}