2012-03-26 156 views
16

我想要获得图像(.JPG.PNG,.Gif)文件从我的OpenFileDialog 如何从OpenFileDialog获得文件扩展名?如何从OpenFileDialog获取文件扩展名?

难道不可能吗?

+1

是的,Filter属性允许你预先选择所需的文件类型,看看我下面更新的答案 – Steve 2012-03-26 12:17:01

+0

好奇,我确定你已经询问了Filter属性,但你已经接受了另一个答案。 – Steve 2012-03-27 18:12:51

+0

@你说得对。我有一个错误。我改变我接受的答案 – 2012-03-28 06:54:21

回答

38

仅过滤某些类型的文件,请使用过滤器的性能

OpenFileDialog1.Filter = "Image Files (JPG,PNG,GIF)|*.JPG;*.PNG;*.GIF"; 

要获取文件扩展名使用Path帮手GetFileExtension

if (OpenFileDialog1.ShowDialog() == DialogResult.OK) 
    string ext = Path.GetExtension(OpenFileDialog1.FileName); 
+2

垂直条不应该在字符串的最后一个字符上。 – 2014-06-09 11:09:34

+2

@MosesAprico你是对的,奇怪这一直没有被注意到 – Steve 2014-06-09 11:27:58

11

什么

Path.GetExtension(ofd.FileName); 
+0

这是正确的答案。 – iamichi 2013-01-05 00:42:59

+0

注意:路径类在System.IO – BentChainRing 2017-10-31 23:01:08

4

使用此:

Path.GetExtension(dialog.FileName); 
0

正如here说,你可以做这样的事情:Path.GetExtension(photoFile.FileName)

0

试试这个

fileDialog.File.Extension 
+0

'OpenFileDialog1' ouse没有'File'属性! – 2017-07-19 19:11:35

0

也可以使用扩展方法为打击:

public static class Helper 
    { 
     public static string GetFileExtention(this OpenFileDialog dialog) 
     { 
      return Path.GetExtension(dialog.FileName); 
     } 
    } 

而且只需使用它:

openFileDialog1.ShowDialog(); 
string foo = openFileDialog1.GetFileExtention();