2008-12-04 54 views
21

Tôi đang sử dụng các phương pháp sau đây để duyệt cho một tập tin:Return FileName khi sử dụng OpenFileDialog

OpenFileDialog.ShowDialog() 
    PictureNameTextEdit.Text = OpenFileDialog.FileName 

Có cách nào lấy CHỈ tên tập tin?

Phương thức Tên tệp trả về toàn bộ đường dẫn và tên tệp.

tức là tôi muốn foo.txt thay vì C: \ SomeDirectory \ foo.txt

Trả lời

44

Sử dụng Path.GetFileName(fullPath) để có được chỉ là một phần tên tập tin, như thế này:

OpenFileDialog.ShowDialog() 
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName) 
0
//Following code return file name only 

string[] FileFullPath; 
string FileName; 
objOpenFileDialog.Title = "Select Center Logo"; 
objOpenFileDialog.ShowDialog(); 

FileFullPath = objOpenFileDialog.FileNames[0].ToString().Split('\\'); 
FileName = FileFullPath[FileFullPath.Length - 1]; //return only File Name 

//Use following code if u want save other folder , 
// following code save file to CenterLogo folder which inside bin folder// 

System.IO.File.Copy(OFD.FileName, Application.StartupPath + 
"/CenterLogo/" + FileName, true); 
2
OpenFileDialog.ShowDialog() 
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName) 
+0

Tại sao phải xuống hạng? Đây là mã mẫu chính xác cho câu hỏi của OP. Tôi đưa thông tin này như một phần của câu trả lời của Jon Skeet. – Neolisk

1

Giả rằng tôi đã chọn tệp word2010 có tên là "MyFileName.docx"

Điều này chỉ dành cho CHỈ tệp được chọn nsion "bao gồm cả dấu chấm dấu, fe (.docx)"

MsgBox(System.IO.Path.GetExtension(Opendlg.FileName)) 

Và điều này cho tên tập tin được lựa chọn mà không cần mở rộng: (MyFileName)

MsgBox(System.IO.Path.GetFileNameWithoutExtension(Opendlg.FileName)) 

và bạn có thể thử các tùy chọn khác cho " Lớp PATH "như: GetFullPath, GetDirectoryName ... v.v.

-1

Sử dụng SafeFileName thay vì Tên tệp và tên sẽ trả về tên (và tiện ích mở rộng) không có đường dẫn.

-1

Sử dụng mã này để đặt tên tập tin trong PictureNameTextEdit:

OpenFileDialog.ShowDialog() 
PictureNameTextEdit.Text = OpenFileDialog.SafeFileName 
2

C++ mã cho lấy tên tập tin và đường dẫn đầy đủ trong OpenFileDialog:

textBox1->Text = OpenFileDialog1->FileName; //complete path textBox1->Text = System::IO::Path::GetFileName(OpenFileDialog1->FileName); //filename

0

nếu bạn muốn chỉ là tên được lựa chọn mà không cần mở rộng bạn có thể thử mã này

Imports System.IO 


PictureNameTextEdit.Text = Path.GetFileNameWithoutExtension(OpenFileDialog1.Fi‌​leName) 

thanx

Các vấn đề liên quan