Fazendo UpLoad de Arquivos com ASP.NET

Olá pessoal iremos aprender agora como fazer um UpLoad de arquivos  em ASP.NET.

Criei um web site em C#, chamado exemploUpload e, na página Default.aspx, posicionei os seguintes controles: FileUpload, Button e Image, como na figura abaixo:

UPLOAD

Criei, usando o Solution Explorer, uma pasta imagens, que receberá os arquivos.

Para o evento de clique no Button, criei o seguinte código:

protected void Button1_Click(object sender, EventArgs e)
{
      Stream imagem = FileUpload1.PostedFile.InputStream;
      int tamanhoImagem = FileUpload1.PostedFile.ContentLength;
      string nomeImagem = FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf(“\\”) + 1);
      byte[] imagemEmBinario = new byte[tamanhoImagem];
      int n = imagem.Read(imagemEmBinario, 0, tamanhoImagem);
//
      BinaryWriter bw = new BinaryWriter(new FileStream(Request.ServerVariables[“APPL_PHYSICAL_PATH”] + @”imagens\” + nomeImagem, FileMode.Create));
      for (int i = 0; i < imagemEmBinario.Length; i++)
            bw.Write(imagemEmBinario[i]);
//
      bw.Close();
      Image1.ImageUrl =
“~/imagens/” + nomeImagem;
}

e está funcionando seu upLoad de arquivos!

Obrigado Agnaldo por este artigo

Abraço a todos até ++ :)

5 Respostas

  1. Faltou importar a Namespace: System.IO;

  2. Queria que ao fazer o upload do arquivo, me notificasse por email que tal arquivo foi enviado. Obrigado

    • Olá Vadu,
      Obrigado por participar do meu Blog.
      Para envio de email no .NET se usa uma classe chamada “System.Web.Mail”
      Procura mais sobre ela que irá econtrar o que precisa
      Tentarei postar algo que te ajude

      Obrigado
      abs

  3. O que seria este ?
    APPL_PHYSICAL_PATH

    E não existe uma variavel Image1

    Image1.ImageUrl = “~/imagens/” + nomeImagem;

    To precisando muito disto. Me ajude..

    Muito Obrigado

    • Olá Theo
      o atributo “APPL_PHYSICAL_PATH” ele vai pegar o diretorio da raiz do site exemplo:
      se seu site roda na pasta wwroot, esse atributo irá retornar : “C:\inetpub\wwroot\meuSite\”

      e o “Image1″ é o controle ASP.NET de imagem nâo tem nada haver com upload de arquivos!

      Qual é sua duvida?

      Vlw

      []s

Deixe uma resposta