Estou tentando fazer upload de arquivos usando o OpenFileDialog com Windows Forms.
Já consegui fazer com que o botão abra o dialogo e permita selecionar multiplos arquivos, porém, tenho um TextBox ao lado que era pra aparecer o nome e extensão dos arquivos selecionados, mas ele aparece sempre do ultimo.
É possível que ele retorne no TextBox todos os nomes?
Segue código:
private void Button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Title = "Selecionar arquivos para upload...";
openFileDialog1.Multiselect = true;
openFileDialog1.RestoreDirectory = true;
openFileDialog1.InitialDirectory = @"C:\";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = System.IO.Path.GetFileName(openFileDialog1.FileName);
}
}
Fala ai @lsramos blz?
Cara vamos la, quando voce seleciona múltiplos arquivos em uma OpenFileDialog, existem duas propriedades:
FileName que retorna apenas um string com o path de um dos arquivos e FileNames que retorna um vetor de Strings.
No seu caso o ideal seria utilizar o FileNames algo nesse estilo:
private void Button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Title = "Selecionar arquivos para upload...";
openFileDialog1.Multiselect = true;
openFileDialog1.RestoreDirectory = true;
openFileDialog1.InitialDirectory = @"C:\";
StringBuilder str = new StringBuilder();
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
foreach (String item in openFileDialog1.FileNames) {
str.Append(System.IO.Path.GetFileName(item));
str.Append(" - ");//Separador de Nomes
}
textBox1.Text = str.ToString();
}
}
Abraços
Max