Получить только имя файла из openfiledialog [duplicate]

Создание ответа Алнитак:

if(!Object.prototype.byString){
  //NEW byString which can update values
Object.prototype.byString = function(s, v, o) {
  var _o = o || this;
      s = s.replace(/\[(\w+)\]/g, '.$1'); // CONVERT INDEXES TO PROPERTIES
      s = s.replace(/^\./, ''); // STRIP A LEADING DOT
      var a = s.split('.'); //ARRAY OF STRINGS SPLIT BY '.'
      for (var i = 0; i < a.length; ++i) {//LOOP OVER ARRAY OF STRINGS
          var k = a[i];
          if (k in _o) {//LOOP THROUGH OBJECT KEYS
              if(_o.hasOwnProperty(k)){//USE ONLY KEYS WE CREATED
                if(v !== undefined){//IF WE HAVE A NEW VALUE PARAM
                  if(i === a.length -1){//IF IT'S THE LAST IN THE ARRAY
                    _o[k] = v;
                  }
                }
                _o = _o[k];//NO NEW VALUE SO JUST RETURN THE CURRENT VALUE
              }
          } else {
              return;
          }
      }
      return _o;
  };

}

Это также позволяет вам установить значение!

Я создал npm package и github с этим также

21
задан Gerhard Weiss 4 December 2008 в 23:05
поделиться

8 ответов

Используйте Path.GetFileName(fullPath) , чтобы получить только часть имени файла, например:

OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName)
43
ответ дан Neolisk 25 August 2018 в 20:51
поделиться
//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);
0
ответ дан 2 revs, 2 users 70%virender 25 August 2018 в 20:51
поделиться

, если вы хотите только выбранное имя без расширения, вы можете попробовать этот код

Imports System.IO


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

thanx

0
ответ дан Aladein 25 August 2018 в 20:51
поделиться

Предположим, что я выбрал файл word2010 с именем «MyFileName.docx»

. Это ТОЛЬКО выбранное расширение файла «включая метку точки, fe (.docx)»

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

И это для выбранного имени файла без расширения: (MyFileName)

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

, и вы можете попробовать другие параметры для «класса PATH»: GetFullPath, GetDirectoryName ... и так далее на.

0
ответ дан Brad Larson 25 August 2018 в 20:51
поделиться

Код C ++ для получения имени файла и полного пути в OpenFileDialog:

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

2
ответ дан farzaneh 25 August 2018 в 20:51
поделиться
OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName)
2
ответ дан Mark Hall 25 August 2018 в 20:51
поделиться
  • 1
    Почему downvoting? Это правильный пример кода для вопроса OP. Я включил эту информацию в ответ на вопрос Джона Скита. – Neolisk 21 October 2012 в 00:29

Используйте этот код, чтобы поместить имя файла в PictureNameTextEdit:

OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = OpenFileDialog.SafeFileName
-1
ответ дан Mattias Lindberg 25 August 2018 в 20:51
поделиться

Используйте имя SafeFileName вместо FileName, и оно вернет имя (и расширение) без пути.

-1
ответ дан Nathan Tuggy 25 August 2018 в 20:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: