未经授权的访问异常 - 在C#中将文件复制到其他目录时访问被拒绝的路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未经授权的访问异常 - 在C#中将文件复制到其他目录时访问被拒绝的路径相关的知识,希望对你有一定的参考价值。

将文件从1个文件夹复制到c#中的另一个文件夹时出错。这是代码:

string xFilename = Path.GetDirectoryName(fdlg.FileName.ToString());    
string yPath = Path.GetFileName(fdlg.FileName.ToString());    
upload_label.Text = xFilename + "\" + yPath;    
string zFilePath = xFilename + "\" + yPath;
Directory.CreateDirectory("test");

try 
{
    File.Copy(zFilePath, "\test", true);
} 
catch(Exception eeee) 
{
    MessageBox.Show(eeee + "");
    throw;
}

我怎样才能解决这个问题?

答案

MSDN(http://msdn.microsoft.com/en-us/library/9706cfs5(v=vs.110).aspx)说File.Copy抛出UnauthorizedAccessException

呼叫者没有所需的权限。

-要么-

destFileName是只读的。

请检查以上条件,然后重试。

另一答案

它与子内容有关,如果你有那些,就像我的情况一样。

这就是我所做的,也许你可以尝试这些步骤:

1.)删除该路径上的文件和文件夹,首先删除内容。

2.)然后在文件夹为空后将其删除。

var di = new DirectoryInfo("YourPath");

//delete files
foreach (FileInfo file in di.GetFiles())
{
    file.Delete(); 
}

//delete folders
foreach (DirectoryInfo dir in di.GetDirectories())
{
    dir.Delete(true); 
}

//then delete the path itself after it is empty
Directory.Delete(path);

以上是关于未经授权的访问异常 - 在C#中将文件复制到其他目录时访问被拒绝的路径的主要内容,如果未能解决你的问题,请参考以下文章

运行 .NET Core 3.0 时未经授权访问 C:\Users

在远程文件/目录上设置 ACL 时未经授权的操作

拒绝访问:未经授权的ExCeption

HTTP网页异常错误代码详解

c# 在后台线程中出现未经授权的错误

如何防止未经授权访问我的 Firebase 实时数据库?