如何在openfiledialog中检查文件类型

时间:2014-05-15 11:04:15

标签: c# wpf

我想打开文件并检查文件类型。 我有Path.GetExtension的问题。还有其他选择吗? 我在WPF工作。我尝试使用以下代码

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); 
dlg.Filter = "Image (*.bmp, *.jpg, *.gif, *.png)|*.bmp; *.jpg; *.gif; *.png|All (*.*)|*.*";
if (dlg.ShowDialog() == true) 
  string ext = Path.GetExtension(dlg.FileName); //problem
  if (ext == ".jpg")
    {...}

错误说:'System.Windows.Shapes.Path'不包含'GetExtension'的定义

2 个答案:

答案 0 :(得分:4)

问题是WPF有一个名为System.Windows.Shapes.Path的类(表示绘图路径),你想要System.IO.Path(用于处理文件系统路径)。您的文件已有using System.Windows.Shapes。添加using System.IO无济于事,因为编译器不会知道你的意思是哪个 Path

您可以通过在文件顶部添加此行来解决问题,这会告诉编译器,当您说Path时,您的意思是System.IO.Path

using Path = System.IO.Path;

(注意:如果您这样做,除非您使用using System.IO中的其他类,否则不需要System.IO。)

答案 1 :(得分:3)

使用string ext = System.IO.Path.GetExtension(dlg.FileName);,它会正常工作。