Simples Instrução para download de Arquivos de um endereço FTP
- Código:
private void btnDownload_Click(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
if (txtUpload.Text.Trim().Length > 0)
{
{
Download(@"H:\TEMP\Vistoria", txtUpload.Text.Trim());
Download(@"H:\TEMP\Vistoria", txtPdf.Text.Trim());
DeletarFTP(txtUpload.Text.Trim());
DeletarFTP(txtPdf.Text.Trim());
Cursor.Current = Cursors.Default;
MessageBox.Show("Download e Exclusão do Arquivo com Sucesso.");
Application.Exit();
}
}
else
{
MessageBox.Show("Informe o nome do arquivo para download");
}
}
private void Download(string _caminhoArquivo, string _nomeArquivo)
{
FtpWebRequest requisicaoFTP;
try
{
FileStream outputStream = new FileStream(_caminhoArquivo + "\\" + _nomeArquivo, FileMode.Create);
requisicaoFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpIPServidor + "/" + _nomeArquivo));
requisicaoFTP.Method = WebRequestMethods.Ftp.DownloadFile;
requisicaoFTP.UseBinary = true;
requisicaoFTP.Credentials = new NetworkCredential(ftpUsuarioID, ftpSenha);
FtpWebResponse response = (FtpWebResponse)requisicaoFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int lerContador;
byte[] buffer = new byte[bufferSize];
lerContador = ftpStream.Read(buffer, 0, bufferSize);
while (lerContador > 0)
{
outputStream.Write(buffer, 0, lerContador);
lerContador = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
outputStream.Close();
response.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}