NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalTutoriaisLanodecastro : Uploadarquivos001
Quer receber novidades e e-books gratuitos?

FILTRO DE TUTORIAIS:


 

Upload de Arquivos

 

Olá Pessoal,

 

Estamos de volta, e hoje trago para vocês uma das aplicações mais populares da Web, o Upload de Arquivos.

 

Transferir um arquivo da máquina local para o servidor Web não era tarefa fácil no ambiente ASP e PHP, por exemplo. Existe uma grande complexidade em utilizar os métodos disponíveis para estes ambiente quando o assunto é trabalhar com arquivos no servidor.

 

No ambiente ASP.Net, a mudança foi revolucionária, tornando esta tarefa fácil e produtiva.

 

Faremos isso utilizando a linguagem C#, então prepare o ambiente no Visual Studio .Net, ou no WebMatrix.

 

Crie um novo projeto chamdo UploadDeArquivos

 

 

Crie um novo WebForm chamado Upload.aspx. Abra este arquivo.

 

Agora vamos inserir três controles, um Label identificado por lblResposta, um DropDownList identificado por dropDiretorio, um Button que executará a ação, chamado btnEnviar e um FileField que não é um objeto do tipo WebForm, mas faremos com que ele processe os dados no servidor. Este controle está localizado na guia HTML. Veja a sugestão da interface:

 

 

O próximo passo é fazer com que o controle FileField funcione do lado do servidor e obtenha uma identificação que seja possível interagir com ele dentro do ambiente .Net.

 

Clique  na guia Html. No código Html da aplicação, localize o trecho em que se refere ao file field e acrescente um novo atributo. O Código Html deste controle deverá ficar da seguinte forma:

 

<INPUT style="Z-INDEX: 105; LEFT: 16px; WIDTH: 248px; POSITION: absolute; TOP: 56px; HEIGHT: 24px" type="file" size="22" runat=server>

 

O atributo Runat, que está em destaque, é o trecho que devemos adicione para que o controle processe do lado do servidor. Agora volte para a guia Design e selecione novamente o controle FileField. Vá no painel de propriedades e na propriedade Id escreva “MeuArquivo”, sem aspas, é claro.

 

 

Agora já podemos ir para o código. Desenvolveremos duas rotinas, uma que carregará os diretórios disponíveis para armazenar o arquivo e outra para o Upload do arquivo.

 

Importe o seguinte namespace:

 

using System.IO;

 

Agora digite o código conforme mostramos abaixo:

 

private void CarregarDiretorios()

            {

                  //Cria o objeto do tipo directoryInfo baseado no diretório em que aplicação está armazenada

                  DirectoryInfo Di=new DirectoryInfo("C:/Inetpub/wwwroot/UploadDeArquivos");

                  //Indica ao dropDiretorio exibir o nome do diretório

                  dropDiretorio.DataTextField="Name";

                  //Indica que a fonte de dados do dropDiretorio são os subdiretórios da pasta da aplicação

                  dropDiretorio.DataSource=Di.GetDirectories();

                  //Renderiza o controle.

                  dropDiretorio.DataBind();

            }

 

Esta rotina deverá ser chamada no Page_load:

 

private void Page_Load(object sender, System.EventArgs e)

            {

                  if(!Page.IsPostBack)

                  {

                        CarregarDiretorios();

                  }

            }

 

Este código é simples e já foi abordado em um dos meus tutoriais. Leia em Trabalhando com Arquivos.

 

A próxima rotina verificar se o arquivo a ser transferido foi postado e se o tamanho dele é inferior a 2 Mb, caso contrário, a aplicação mostrará uma mensagem advertindo o usuário.

 

Digite o código conforme abaixo:

 

private void EfetuarUpload()

            {

                  //Verifica se o arquivo foi postado

                  if(MeuArquivo.PostedFile.FileName!=string.Empty)

                  {

                        //verifica se o tamanho do arquivo postado é menor que 2Mb

                        if(MeuArquivo.PostedFile.ContentLength<2097152)

                        {

                             //Cria o objeto FileInfo baseado no arquivo postado

                             FileInfo fl=new FileInfo(MeuArquivo.PostedFile.FileName);

                             //Salva o arquivo no diretório selecionado com o nome do arquivo postado

                    MeuArquivo.PostedFile.SaveAs(dropDiretorio.SelectedValue.ToString() + "/" + fl.Name);

                             //Emite a resposta ao usuário

                             lblResposta.Text="Upload efetuado com sucesso!";

                        }

                        else

                        {

                             lblResposta.Text="O tamanho limite para o arquivo é de 2Mb!";

                        }

                  }

                  else

                  {

                        lblResposta.Text="É necessário postar o arquivo!";

                  }

                  }

 

Este código aparentemente pode ter ficado extenso, mas note que com apenas uma linha de código nós podemos fazer o Upload do arquivo. Basta utilizar o método SaveAs() do objeto FileField, o resto do código é apenas para tratar as particularidades da aplicação.

 

Esta rotina acima deverá ser executada no evento Click do btnEnviar:

 

private void btnEnviar_Click(object sender, System.EventArgs e)

            {

                  EfetuarUpload();

            }

 

Vamos aos testes:

 

Mostrando os diretórios da pasta da aplicação

 

Selecionando um arquivo maior que 2MB para testar...

 

 

Teste com o arquivo maior que 2MB....

 

Selecionando um arquivo com tamanho válido....

 

Upload efetuado!

 

Confira diretamente na pasta!

 

É isso aí pessoal,

 

Espero que tenha sido muito produtiva abordagem deste tema.

 

Um Abraço e até mais!

 

Lano de Castro

 

Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2020 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI