Вы находитесь на странице: 1из 6

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA CAMPUS NATAL - CENTRAL DIRETORIA DE EDUCAO E TECNOLOGIA DA INFORMAO

Av. Sen. Salgado Filho, 1559, Natal/RN, 59015-000. Fone/FAX (084) 4005-2637 E-mail: dietinf@ifrn.edu.br - Site: http://www.ifrn.edu.br/dietinf Apostila: Desenvolvimento Web com ASP.NET Professor: Fabiano Papaiz

Utilizando o Controle FileUpload O controle FileUpload permite que o cliente envie um arquivo (imagem, texto etc) para ser salvo ou processado no servidor. Vamos fazer um exemplo: 1. Crie um projeto web chamado ProjFileUpload. 2. Dentro do projeto, crie uma pasta chamada upload. Nela iremos salvar os arquivos enviados. 3. Crie um formulrio chamado EnvioArquivo.aspx. Defina-o como o formulrio inicial da aplicao ("Set as Start Page") e configure-o da seguinte forma:

4. Insira o cdigo a seguir dentro do boto de enviar:


//verifica se o usurio selecionou algum arquivo if (FileUpload1.HasFile) { try { //obtem o caminho raiz da aplicao (path completo) string path = Server.MapPath("~/"); //salva o EnvioArquivo dentro DataBind pasta 'upload' FileUpload1.SaveAs(path + "/upload/" + FileUpload1.FileName); //informa ao usuario que o envio foi OK lblMensagem.Text = "Arquivo '" + FileUpload1.FileName + "' enviado com sucesso."; } catch (Exception ex) { //se deu algum erro, informa ao usuario juntamente com a descrio do erro lblMensagem.Text = "Erro ao enviar o arquivo: " + ex.Message; } } else { //informa ao usuario que ele no selecionou um arquivo lblMensagem.Text = "Selecione um arquivo antes de enviar"; }

Neste cdigo, primeiro verificamos se o usurio selecionou algum arquivo (HasFile). Se sim, salvamos o arquivo no servidor (SaveAs), dentro da pasta upload e com o mesmo nome do arquivo original. Observe a utilizao do bloco protegido com o try..catch e do mtodo Server.MapPath("~/").
1

5. Execute sua aplicao, selecione um arquivo e mande enviar. Em seguida, verifique se o arquivo foi realmente salvo na pasta upload da aplicao. Envie mais alguns arquivos Agora criaremos uma pgina para exibir os arquivos que foram enviados, com um link para o usurio poder fazer o download. 1. Primeiro vamos criar uma classe para representar um objeto arquivo. Ela ir conter dois atributos: nome e link. O nome usaremos para exibio na tela (num GridView), e o link para definir o hyperlink para fazer o download do arquivo. 2. Adicione um novo item ao projeto, escolha o tipo Class a deixe seu nome como Arquivo.cs.

3. Na classe criada, digite o seguinte cdigo:

4. Crie um webform chamado ArquivosEnviados.aspx. 5. Abra o cdigo e deixe-o como exibido abaixo. Nele inserimos a instruo using System.IO logo no incio para podermos utilizar a classe Directory. Tambm criamos um mtodo pblico que ir retornar uma lista de objetos da classe Arquivo: public List<Arquivo> ObterListaArquivos(). O mtodo GetFiles(...) da classe Directory ir retornar um array com os nomes dos arquivos (caminho completo) da pasta informada.

6. Faa um build no projeto para verificar se existe algum erro: menu Build > Build ProjFileUpload Isso tambm necessrio para atualizar as referncias aos objetos do projeto. 7. Agora abra a parte de design do formulrio e insira um controle ObjectDataSource

. 8. Clique no boto Smart Tag do data source criado e selecione a opo Configure Data Source.

9. Na primeira janela, selecione o formulrio ArquivosEnviados.aspx e depois clique em Next.

10. Na prxima janela, na aba SELECT, selecione o mtodo ObterListaArquivos(). Depois clique em Finish.

11. Agora insira um controle GridView no formulrio, logo acima do data source.

12. Clique no boto Smart Tag do grid e configure seu data source para o que criamos anteriormente. Perceba que as colunas do grid ficaro de acordo com os atributos da classe Arquivo (nome e link).

13. Agora clique na opo Edit Columns e remova todas as colunas da rea Select Fields.

14. Adicione um TemplateField, atribua sua propriedade HeaderText para Arquivos e clique OK.

15. Clique na opo Edit Templates do grid e insira um controle HyperLink na rea de desenho.

16. Selecione o HyperLink, clique no seu boto Smart Tag e selecione a opo Edit DataBindings. 17. Selecione a propriedade NavigateUrl e atribua o campo Link em Bound To:

18. Ainda nesta janela, selecione a propriedade Text e atribua o campo Nome:

19. Agora abra o formulrio EnvioArquivo.aspx, insira nele um HyperLink e configure sua propriedade Text como Arquivos Enviados e NavigateUrl para ArquivosEnviados.aspx. 20. Teste sua aplicao. Veja a lista dos arquivos enviados e tente fazer o download.

Вам также может понравиться