none
Como BAIXAR arquivos que estão no FTP da REDE ! RRS feed

  • Pergunta

  • Bom dia pessoal,

    Preciso baixar arquivos que estão na rede, porém com o seguinte código não estou conseguindo obter êxito:

    #region BaixarAtualizacao()
            public void BaixarAtualizacao()
            {
                try
                {
                    string wPath = Application.StartupPath + "\\Data\\update_tempfiles";
                    string wFolder = wPath + "\\" + "FILE.zip";
                    if (!Directory.Exists(wPath))
                    {
                        Directory.CreateDirectory(wPath);
                    }
                    downloadData = new byte[0];
                    // Criar comunicação com servidor
                    // Definir o arquivo para download
                    FtpWebRequest request = (FtpWebRequest)WebRequest.Create
                    (ConfigurationManager.AppSettings.Get("cFTP").ToString() +
                    @"\Sistemas\Dados\Updates\" + "FILE_update.zip");
                    // Definir a ação de download
                    request.Method = WebRequestMethods.Ftp.DownloadFile;
                    // Credencias (usuario e senha)
                    request.Credentials = new NetworkCredential("User", "1234567890");
                    // modo passivo
                    request.UsePassive = true;
                    // dados binários
                    request.UseBinary = true;
                    // setar o KeepAlive para true
                    request.KeepAlive = true;
                    // Criar um objeto FtpWebResponse
                    FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                    // Criando a Stream para ler o arquivo
                    Stream responseStream = response.GetResponseStream();
                    byte[] buffer = new byte[2048];
                    // Definir local onde o arquivo sera salvo
                    FileStream newFile = new FileStream(wFolder, FileMode.Create);
                    // Ler o arquivo de origem
                    int readCount = responseStream.Read(buffer, 0, buffer.Length);
                    while (readCount > 0)
                    {
                        // Escrever o arquivo
                        newFile.Write(buffer, 0, readCount);
                        readCount = responseStream.Read(buffer, 0, buffer.Length);
                    }
                    newFile.Close();
                    responseStream.Close();
                    response.Close();
    
                    // MessageBox de Download concluído.
    
                    //lbSitDownload.BeginInvoke((MethodInvoker)delegate
                    //{
                    //    lbSitDownload.Visible = true;
                    //    lbSitDownload.Text = "Concluído";
                    //});
    
                    txtLog.Text = "[4] Download da atualização concluído.";
                    System.Threading.Thread.Sleep(5000);
    
                    // Extrair arquivos
                    //bgwOrganizarArquivos.RunWorkerAsync();
                }
                catch (Exception ex)
                {
                    this.BeginInvoke((MethodInvoker)delegate
                    {
                        MessageBox.Show("[F.BaixarAtualizacao()] " + ex.Message, "Erro Crítico",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
    
                        this.Close();
                    });
                }
            }
            #endregion

    Alguém me ajuda,

    Obrigado, bom dia! 


    quinta-feira, 8 de junho de 2017 14:19

Respostas

Todas as Respostas