2012-03-26 33 views
16

Tôi muốn chỉ nhận được hình ảnh (.JPG, .PNG, .Gif) File từ OpenFileDialog tập tin mở rộng của tôi như thế nào tôi có thể nhận được từ OpenFileDialog?Làm cách nào để tải tệp mở rộng từ OpenFileDialog?

Có thể không?

+1

Có, thuộc tính Bộ lọc cho phép bạn chọn trước các loại tệp cần thiết, xem câu trả lời được cập nhật của tôi bên dưới – Steve

+0

Tò mò, tôi chắc chắn bạn đã hỏi về thuộc tính Bộ lọc, nhưng bạn đã chấp nhận câu trả lời khác. – Steve

+0

@Steve bạn nói đúng. Tôi có một sai lầm. Tôi thay đổi câu trả lời được chấp nhận của tôi –

Trả lời

38

Để lọc các loại chỉ số sử dụng tập tin lọc tài sản

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

Để có được phần mở rộng tập tin sử dụng GetFileExtension Đường dẫn helper

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

thanh dọc không được ở trên ký tự cuối cùng của chuỗi. –

+2

@MosesAprico Bạn là chính xác, kỳ lạ như thế nào điều này đã không được nhận thấy cho tất cả thời gian này – Steve

11

gì về

Path.GetExtension(ofd.FileName); 
+0

đây là câu trả lời đúng. – iamichi

+0

Lưu ý: lớp Đường dẫn nằm trong System.IO – BentChainRing

4

Sử dụng này:

Path.GetExtension(dialog.FileName); 
0

Như đã nêu trong here, bạn có thể làm một cái gì đó như thế này: Path.GetExtension(photoFile.FileName)

0

Hãy thử điều này

fileDialog.File.Extension 
+0

'OpenFileDialog1' douse không có tài sản' File'! –

0

Cũng có thể sử dụng phương pháp mở rộng như thổi:

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

Và chỉ cần sử dụng nó bằng cách :

openFileDialog1.ShowDialog(); 
string foo = openFileDialog1.GetFileExtention(); 
Các vấn đề liên quan