Upload de Arquivos em ASP.NET 2.0

Olá! No meu primeiro artigo no DevMedia irei apresentar como é feito o upload de arquivos no asp.net 2.0.

Como muitos já devem ter percebido, o framework 2.0 traz ainda mais facilidades para o desenvolvedor, deixando tarefas rotineiras menos trabalhosas.

Para começarmos criaremos um projeto WEB no Visual Studio 2005 (ou mesmo no Visual Web Developer).

tmuanetfig01.jpg

Agora iremos definir o tipo de projeto, a pasta e a linguagem conforme mostra a figura a seguir.

tmuanetfig02.jpg 

 

Feito isso, o Visual Studio automaticamente cria uma página Default.aspx com os componentes mínimos para a aplicação.

 

Agora vamos inserir os controles necessários para realizar o upload:

·         FileUpload

·         Button

·         Label

 

Insira os elementos no webform de modo que obtenha o seguinte aspx:

Modo Design:

 

tmuanetfig03.jpg 

 

Modo Source

 

tmuanetfig04.jpg 

 

Com o Visual Studio em modo design de um duplo click sobre o botão salvar. O Visual Studio irá apresentar o Classe do seu web form, já criando o método que será disparado quando o usuário clicar sobre o botão salvar.

 

tmuanetfig05.jpg 

 

É aqui que faremos a codificação necessária para o upload do arquivo, conforme a imagem a seguir:

 

tmuanetfig06.jpg 

 

Entendendo o código

Com a clausula if (FileUpload1.HasFile) verificamos se foi enviado algum arquivo. Caso esta clausula seja contemplada o arquivo é salvo através do método FileUpload1.SaveAs("C:\\temp\\" + FileUpload1.FileName); e é exibida uma mensagem ao usuário informando o nome, tamanho e tipo do arquivo. Caso contrário, será exibida uma mensagem informando que nenhum arquivo foi selecionado.

 

Com o uso dos elementos try e catch podemos capturar qualquer erro que ocorra durante a operação. e caso ocorra algum erro ele é exibido ao usuário (lblResultado.Text = "ERRO: " + ex.Message.ToString();)

 

Um erro comum em aplicações com upload é a falta de permissão de escrita na pasta onde será gravado o arquivo, verifique se a pasta que pretende fazer o upload possui permissão de escrita.

 

Abraços, e até a próxima!