2012-03-26 160 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();