c# - OpenFileDialog 和 UnauthorizedAccessException

标签 c# openfiledialog unauthorizedaccessexcepti

我正在开发一种工具,可以将 .fbx 模型和用户输入处理到单个文件中以在游戏中使用。当用户按下“导入模型”按钮时的代码如下,每个按钮都类似:

private void E_ImportModelButton_Click_1(object sender, EventArgs e)
{
    E_model = null; // byte array where model is stored
    E_SelectedFileLabel.Text = "No Model Selected"; // label on form
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "FBX Model (.fbx)|*.fbx";
    ofd.Multiselect = false;
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        // adjusts variables for game file
        string s = Path.GetDirectoryName(ofd.FileName);
        E_model = File.ReadAllBytes(s);
        E_SelectedFileLabel.Text = "File Selected: " + ofd.FileName;
    }
}

问题是,每当我单击“确定”时,就会发生UnauthorizedAccessException。我尝试从 C:\Users\Owner\Downloads 以及 C:\Users\Owner\DesktopC:\ 导入文件> 自行驱动,但仍然发生。我可以向此代码添加什么来获得对这些(和其他)文件夹的访问权限?

最佳答案

您正在尝试通过用于从文件读取的方法从目录中读取数据:

string s = Path.GetDirectoryName(ofd.FileName);
E_model = File.ReadAllBytes(s);

替换为:

E_model = File.ReadAllBytes(ofd.FileName);

关于c# - OpenFileDialog 和 UnauthorizedAccessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33404313/

相关文章:

delphi - Vista 下带有编码组合框的文件打开对话框

c# - 拒绝访问 C# 中的文件

c# - 在 RichTextBox C# 中插入数据

objective-c - 如何在 xcode cocoa 项目中创建一个打开文件对话框?

c# - 在 MonoMac 中以编程方式创建 NSMenuItems

c++ - Qt C++,打开文件而不指定路径或文件名

c# - 访问路径被拒绝 - File.Move 失败但 File.Delete 有效

c# - 如何在 C# 中使用 LINQ 查找乱序元素

C# - 使用 SSL 保护 `sockets`