C# OpenFileDialog无法读取图像

C# OpenFileDialog无法读取图像,c#,wpf,C#,Wpf,当我使用OpenFileDialog在我的WPF项目中选择一个文件时,我得到一个错误窗口,上面写着: 您没有打开此文件的权限 向文件所有者或管理员请求权限 只有当我使用图像格式文件时才会发生这种情况,而其他类型的文件则可以按预期使用“文件”对话框 我已尝试以管理员身份打开应用程序,但错误仍然存在 测试代码: OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Filter = "jpg |*.jpg|png

当我使用OpenFileDialog在我的WPF项目中选择一个文件时,我得到一个错误窗口,上面写着:

您没有打开此文件的权限

向文件所有者或管理员请求权限

只有当我使用图像格式文件时才会发生这种情况,而其他类型的文件则可以按预期使用“文件”对话框

我已尝试以管理员身份打开应用程序,但错误仍然存在

测试代码:

  OpenFileDialog fileDialog = new OpenFileDialog();
  fileDialog.Filter = "jpg |*.jpg|png |*.png";
  fileDialog.ShowDialog();

也许您可以尝试一种新方法,该方法可以安全地查找您要查找的文件类型:

var dlg = new Microsoft.Win32.OpenFileDialog
{
    Title = "Select an Image",
    Filter = "Images |*.jpg; *.png",
    CheckFileExists = true
};

if (dlg.ShowDialog() == true)
{
    
}

关于文件权限,请尝试此方法。也许您可以尝试一种新的方法,可以安全地找到您要查找的文件类型:

var dlg = new Microsoft.Win32.OpenFileDialog
{
    Title = "Select an Image",
    Filter = "Images |*.jpg; *.png",
    CheckFileExists = true
};

if (dlg.ShowDialog() == true)
{
    
}

在文件权限方面,请尝试将您的
Filter
字符串更改为:
fileDialog.Filter=“Images(*.jpg;*.png)|*.png、*.jpg |所有文件(*.*)|*”-我知道它可能是关于空白的finnicky(你真的确定你想为每种文件类型使用单独的过滤器,而不是“所有图像”选项?@Dai当我选择图像显示为空的文件夹时,使用“所有文件”选项我会得到相同的错误。错误确切地说是在哪里以及如何显示的?这是否属于
例外情况
?文件对话框本身在屏幕上显示的消息框?你真的有权限打开那个图像文件吗?(检查您的NTFS ACL)是否是网络共享上的映像(如果是,请检查除NTFS ACL之外的SMB ACL)?@Dai它不会引发任何异常,因为文件对话框中有一个消息框,我有打开该文件的权限。它在我的PC上的文档中,我可以毫无问题地打开其他非图像文件。您是否在WPF项目中使用WinForms'
System.Windows.Forms.OpenFileDialog
?或者这是一个不同的
OpenFileDialog
类?尝试将
Filter
字符串更改为:
fileDialog.Filter=“Images(*.jpg;*.png)|*.png,*.jpg |所有文件(*.*)|*”-我知道它可能是关于空白的finnicky(你真的确定你想为每种文件类型使用单独的过滤器,而不是“所有图像”选项?@Dai当我选择图像显示为空的文件夹时,使用“所有文件”选项我会得到相同的错误。错误确切地说是在哪里以及如何显示的?这是否属于
例外情况
?文件对话框本身在屏幕上显示的消息框?你真的有权限打开那个图像文件吗?(检查您的NTFS ACL)是否是网络共享上的映像(如果是,请检查除NTFS ACL之外的SMB ACL)?@Dai它不会引发任何异常,因为文件对话框中有一个消息框,我有打开该文件的权限。它在我的PC上的文档中,我可以毫无问题地打开其他非图像文件。您是否在WPF项目中使用WinForms'
System.Windows.Forms.OpenFileDialog
?或者这是一个不同的
OpenFileDialog
类?您的问题可能与文件本身有关。请检查我的更新答案谢谢,没有完全解决问题,但程序可以从不同位置加载图像,因为我会将文件移到我的图像文件夹中,并且它非常受欢迎,有时这些问题在以前不容易解决。很高兴能提供帮助您的问题可能与文件本身有关请检查我的更新回答谢谢,不完全解决问题,但程序可以从不同位置加载图像,我将文件移动到我的图像文件夹中,欢迎使用,以前这些问题有时不容易解决。很高兴能帮忙