2008-12-04 18 views
21

używam następujące metody, aby wyszukać plik:Powrót FileName przy użyciu OpenFileDialog

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

Czy istnieje sposób uzyskać tylko nazwę pliku?

Metoda FileName zwraca całą ścieżkę i nazwę pliku.

tj Chcę foo.txt zamiast C: \ SomeDirectory \ foo.txt

Odpowiedz

44

Zastosowanie Path.GetFileName(fullPath) dostać tylko część nazwy, na przykład:

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

Dlaczego downvoting? To jest poprawny przykładowy kod dla pytania OP. Zawarłem te informacje jako część odpowiedzi Jona Skeeta. – Neolisk

1

Przypuśćmy że wybrałem plik word2010 o nazwie "MyFileName.docx"

Jest to przeznaczone TYLKO dla wybranego pliku exte nsion "w tym znak kropki, Fe (.docx)"

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

A to dla wybranej nazwy pliku bez rozszerzenia: (MyFileName)

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

i można spróbować innych opcji za " Klasa PATH "like: GetFullPath, GetDirectoryName ... i tak dalej.

-1

Użyj SafeFileName zamiast FileName, a zwróci nazwę (i rozszerzenie) bez ścieżki.

-1

użyć tego kodu, aby umieścić nazwę pliku w PictureNameTextEdit:

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

C++ kod uzyskać nazwę i pełną ścieżkę w OpenFileDialog:

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

0

jeśli chcesz tylko wybraną nazwę bez rozszerzenia możesz wypróbować ten kod:

Imports System.IO 


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

thanx

Powiązane problemy