none
Como baixar um arquivo.zip de um site?

    Question

  • Olá Pessoal,

     

    Preciso fazer uma rotina para baixar um arquivo zipado de um determinado site. Essa mesma rotina tem que salvar no PC e extrair o arquivo....

    Pesquisei mas não consigo encontrar nada...

     

    Estou desenvolvendo em ASP.Net com C#..

     

    Se alguém puder me dar um help ficarei agradecida...

     

    Tks

     

    []'s

     

    Jana

    Friday, April 18, 2008 12:59 PM

All replies

  • Jana, tudo bem?

    Uma solução rápida e bem simples é vc fazer um link para o arquivo .ZIP.

    Baixar arquivo ZIP

    Response.Redirect("http://www.meusite.com.br/arquivo.zip");



    Com isso, ele vai pedir pra salvar o arquivo na maquina do cliente.
    E o proprio cliente pode fazer o esquema de extrair o arquivo.

    Isso acho que já te ajuda um pouco.

    Abs,
    Friday, April 18, 2008 1:45 PM
  • Um método... talvez não seja o melhor... é da seguinte forma:

     

    Code Snippet

    using System.IO;

    using System.Net;

     

    namespace ConsoleApplication1

    {

    public class Program

    {

    public static void Main(string[] args)

    {

    string url = "http://www.integral.inf.br/img/logo_integral.gif";

     

    WebRequest req = WebRequest.Create(url);

    //req.Proxy = new WebProxy("proxy", 8080);

    int bufferSize = 1;

    byte[] buffer = new byte[bufferSize + 1];

    MemoryStream ms = new MemoryStream(buffer, true);

    Stream rs = req.GetResponse().GetResponseStream();

    FileStream fs = new FileStream(@"C:\teste.jpg", FileMode.Create);

    while (rs.Read(buffer, 0, buffer.Length) > 0)

    {

    byte[] bytes = ms.ToArray();

    foreach (byte b in bytes)

    fs.WriteByte(b);

    }

    ms.Close();

    ms.Dispose();

    rs.Dispose();

    }

    }

    }

     

     

    Se você baixar o arquivo de um site interno você pode tirar a linha que define o proxy... caso contrário você deve saber o proxy...

     

    Depois com o arquivo baixado vc pode usar algum aplicativo como o pkunzip.exe que extrai arquivos do zip por linha de comando.. +/- assim: "pkunzip.exe -o -d C:\teste.zip C:\Temp"

     

    Valeu!

    Friday, April 18, 2008 2:22 PM
  •  

    Obrigado Diego...

     

    Preciso que salve no pc e depois tenho que fazer com que pegue esses dados e insira em uma tabela no banco...

     

    Mas obrigada assim mesmo.. já é alguma coisa...

     

    Jana

     

     

    Tuesday, April 29, 2008 4:47 PM
  • Obrigada André...

     

    Vou testar e depois aviso se funcionou!

     

    valeu!

     

    Jana

     

    Tuesday, April 29, 2008 4:48 PM
  • Fala Jana, blz?

    Qual é a sua necessidade?
    Dependendo do que vc precisar fazer, pode ser que exista alguma outra solução.

    Nos explique com mais detalhes o que vc quer fazer, na verdade, o que vc precisa fazer.

    Abs,
    Wednesday, April 30, 2008 1:00 PM
  •  

    Olá Diego,

     

    Então... eu preciso fazer uma rotina que entre no site da receita e baixe um arquivo que contem a situação cadastral dos CNPJ's do PR. Depois de baixar o arquivo, a rotina deve descompactar o arquivo e inserir os dados no meu banco.

    A parte de baixar o arquivo eu consegui... esta funcionando direitinho... baixa o arquivo e salva no computador...

     

    Agora preciso descobrir como descompactar o arquivo pra depois inserir no banco...

     

    Jana

    Wednesday, April 30, 2008 4:18 PM
  • Jana,
    o arquivo será baixado para a maquina do cliente ou para o Servidor?

    Se for para o servidor, fica mais simples.
    Utilize o código que o nosso amigo passou e faça a descompactação local no server.

    Faça isso, e depois do arquivo descompactado.
    Vc trabalha como se fosse um arquivo normal.

    Se precisar de ajuda para Ler e Gravar o arquivo, vá postando as duvidas.

    Acho que as respostas daqui foram resolvidas, se surgir duvida agora para descompactar o arquivo ou carregar os dados para o DB, sugiro que vc abra novas threads com os problemas que estãio surgindo.
    Se for possível classifique essas respostas, para deixar o Fórum mais perto da realidade.

    Abs,
    Wednesday, April 30, 2008 5:09 PM