 VB.NET - Fazendo Download/Upload de 
arquivos na web
 
VB.NET - Fazendo Download/Upload de 
arquivos na web
|  | A classe WebClient do namespace System.NET pode ser usada em uma aplicação VB para efetuar download e upload de arquivos na internet. Ela é uma alternativa a classe WebRequest que usamos para mostrar como fazer download via HTTP no artigo a seguir: | 
A classe WebClient fornece métodos para enviar dados ou receber dados de qualquer recurso identificado pela URI ; seja local , intranet ou internet.
Ela , na verdade , usa a classe WebRequest para fornecer acesso aos recursos da internet. Instâncias da classe WebClient podem acessar dados com qualquer WebRequest registrados com o método WebRequest.RegisterPrefix.
A plataforma .NET Framework suporta por padrão URIs que começam com : http , https e file:schema
A classe WebClient fornece quatro métodos para fazer o envio de arquivos para um recurso:
A classe WebClient fornece três métodos para fazer o download de arquivos a partir de um recurso:
Nota: Para saber mais sobre os métodos clique no link para ir para o site da MSDN
Uma instância da classe WebClient não envia um cabeçalho HTTP opcional por padrão. Se sua requisição requerer um cabeçalho opcional , você precisa incluir o cabeçalho na coleção Headers.
Vamos a um exemplo prático.
Inicie um novo projeto no VS.NET e no formulário padrão insira duas caixas de texto e dois botões de comando conforme figura abaixo:
Referencie o namespace no inicio do projeto:
' Utilização da classe WebClient para fazer download de 
um arquivo.
Imports System.Net
Recebendo Arquivos
|  | 
Agora insira o seguinte código no evento click do botão - Procurar . Ele apenas abre uma caixa de diálogo Salvar para que seja selecionado um arquivo e o seu tipo para o qual o arquivo da web será salvo.
| Private Sub btnProcura_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProcura.Click         'abre a janela de dialogo salvar arquivo
        Dim salvarDLG As SaveFileDialog = New SaveFileDialogsalvarDLG.Title = "Selecione o arquivo para salvar o download." DialogResult = salvarDLG.ShowDialog         'Se o usuario clicou no botao OK entao continau
        If DialogResult = DialogResult.OK ThentxtPath.Text = salvarDLG.FileName End If         'limpa a memoria
        salvarDLG.Dispose()End Sub | 
O código abaixo efetua o download do arquivo indicado na URI da caixa de texto usando o método DownloadFile da classe WebClient:
| Private Sub btnDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDownload.Click         'criando uma instância da classe WebClient
        Dim cliente As WebClient = New WebClient        'usando o método DownloadFile para efetuar o download
        Try
            cliente.DownloadFile(txtURL.Text, txtPath.Text)
            MsgBox("Arquivo recebido com sucesso.", MsgBoxStyle.Information)
        Catch ex As Exception
            MsgBox(ex.Message & " - " & ex.Source)
        End Try        'limpa a memoria
        cliente.Dispose()End Sub | 
Enviando Arquivos
Para efetuar o Envio de arquivos basta usar o metodo UploadFile da classe WebClient. Abaixo o exemplo para Envio de arquivos:

Abaixo temos o código para o evento Click de cada botão de comando - Enviar. Ele apenas usa o método UploadFile para o arquivo selecionado e envia para a URI indicada :
| Private Sub btnEnvia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnvia.Click         Dim cliente As New WebClient
        Dim resposta As Byte()        ' Envia o arquivo para a URL usando o método POST do protocolo HTTP 1.0
        Try
            resposta = cliente.UploadFile(txtURL.Text, "POST", txtArquivo.Text)
            MsgBox("Arquivo enviado com sucesso.", MsgBoxStyle.Information)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        End Try
cliente.Dispose() End Sub | 
O código do evento Procurar abre uma janela de diálogo Abrir Arquivo e permite o usuário selecionar um arquivo para enviar:
| Private Sub btnProcura_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProcura.Click         'abre a janela de dialogo abrir arquivo
        Dim abrirDLG As OpenFileDialog = New OpenFileDialogabrirDLG.Title = "Selecione o arquivo que deseja enviar." DialogResult = abrirDLG.ShowDialog         'Se o usuario clicou no botao OK entao continua
        If DialogResult = DialogResult.OK ThentxtArquivo.Text = abrirDLG.FileName End If         'limpa a memoria
        abrirDLG.Dispose()End Sub | 
Simples , direto e objetivo...
Eu sei , é apenas VB.NET , mas eu gosto...

| Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? | 
  Gostou ?   Compartilhe no Facebook
Compartilhe no Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter 
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#