C# 访问图像文件时引发UnauthorizedAccessException
我在访问和复制图像文件时遇到问题。这是我的密码C# 访问图像文件时引发UnauthorizedAccessException,c#,file,unauthorized,unauthorizedaccessexcepti,C#,File,Unauthorized,Unauthorizedaccessexcepti,我在访问和复制图像文件时遇到问题。这是我的密码 private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.ShowDialog(); string fileName = ""; fileName = openFileDial
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.ShowDialog();
string fileName = "";
fileName = openFileDialog1.FileName;
string newPath = @"C:\Users\grafik5\source\repos\ConsoleApplication1\x64\Debug";
string newFileName = @"image";
string ext = Path.GetExtension(fileName);
openFileDialog1.Dispose();
newPath = Path.Combine(newPath, newFileName + ext);
if (fileName != "")
{
try
{
FileSecurity oFileSecurity = new FileSecurity();
oFileSecurity.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
File.SetAccessControl(fileName, oFileSecurity);
}
catch (UnauthorizedAccessException)
{
MessageBox.Show("Error");
}
File.Copy(fileName, newPath, true);
Process process = new Process();
process.StartInfo.FileName = @"C:\Users\grafik5\source\repos\ConsoleApplication1\x64\Debug\ConsoleApplication1.exe";
process.Start();
process.WaitForExit();
flag1 = true;
}
}
我不知道我需要做什么。我的程序总是抛出错误消息。
另一个进程将读取复制的图像。它将进行图像处理。
工作过程没有问题。我查过了
错误位于File.SetAccessControl(文件名,oFileSecurity)
任何一个年轻的Codeling绝地武士都应该看一下文件,我想你已经看过了。然而-
应用文件安全性描述的访问控制列表(ACL)项
对象添加到指定的文件
例外情况
未经授权的访问例外
- path参数指定了一个只读文件
- 当前平台不支持此操作
- path参数指定了一个目录
- 调用方没有所需的权限
- 通过以管理员身份运行应用程序来提升应用程序
- 为用户授予设置ACL的适当权限
但是,检查其他条件是否适用应该是明智和谨慎的哪一行引发异常?是的,您遗漏了最重要的信息,包括
File.SetAccessControl
和File.Copy
可以引发UnauthorizedAccessException
,在这两种情况下,您可能没有权限这样做