Neste tutorial estaremos aprendendo como fazer:
- Upload de vários arquivos
- Filtrar a seleção de arquivos
- Selecionar mais de um arquivos
- Salvar em uma pasta.
1º Preparar o layout do site.
Adicione a sessão dentro da tag <form>
<asp:FileUpload runat="server" ID="fuImagem" accept=".jpg,.png" AllowMultiple="True" />
O que é importante aqui?
O atributo accept é responsável por filtrar a seleção dos arquivos. Exemplo
Arquivo de imagem = image/*
Arquivo de video = video/*
Arquivo de audio = audio/*
Mais de um arquivo = .jpg, .png, .bmp
Lista completa dos arquivos suportados Clique aqui
O atributo AllowMultiple é responsável por selecionar mais de um arquivo quando esta setado para true.
2º Preparar o code behind (F7)
2º Preparar o code behind (F7)
Para fazer o upload de vários arquivos é preciso fazer um laço de repetição, nesse caso, estaremos utilizado o for.
O c# guarda os arquivos do controle fileupload em Context.Request.Files.
O c# guarda os arquivos do controle fileupload em Context.Request.Files.
Feito isso, precisamos tratar um arquivo de cada vez, então, utilizaremos a classe HttpPostedFile que contém as propriedades: nome do arquivo, tamanho, mime type e o arquivo em si.
A seguir um exemplo:
protected void btnSalvar_Click(object sender, EventArgs e) { try { for (int i = 0; i < Context.Request.Files.Count; i++) { HttpPostedFile file = Context.Request.Files[i]; string nome = file.FileName; const string endereco = @"c:\tmp\"; file.SaveAs(endereco + nome); } lblMensagem.Text = "Salvo com sucesso"; } catch (Exception ex) { lblMensagem.Text = "Houve um erro: " + ex.Message; } }
A segui uma vídeo aula.
PrintScreen do tutorial. |
Opa, para gravar os registros e as imagens na pasta, ok, mas e para excluir? do banco de dados tudo bem, quero saber como excluir a imagem da pasta.
ResponderExcluir1. Para excluir uma imagem é preciso selecionar a imagem.
Excluir2. Criar uma transação
3. Remove da pasta.
4. Remove do banco.
5. Fechar transação.
Olá!
ResponderExcluirQuando seleciono vários arquivos, ele só envia o primeiro arquivo selecionado e os repete conforme a quantidade selecionada. como poderia resolver?