Array
(
)

Conectar FTP

Facc
   - 16 mar 2010

Boa tarde, eu utilizava a FrameWork Chilkat para trabalhar com FTPs, mas ela possui um limite de 30 dias de uso, sendo posteriormente a necessidade de comprar a licença.

Gostaria de saber se existe alguma forma de comunicação via ftp com Frameworks Free ou com a própria da Microsoft.

Quero ver se encontro alguma alternativa antes de solicitar a compra dessa Framework, que por sinal é cara.

Desde já agraceço

PS. Utilizo o Visual Studio 2008 - WinForms

Jose Silva
   - 16 mar 2010

Caro amigo   Você pode utilizar o FileZilla (http://filezilla-project.org) que é gratuito e um senhor programa de ftp.   Espero ter resolvido o seu problema.

0
|
0

Facc
   - 16 mar 2010

na verdade queria algo para meu programa, ficando transparente para o usuário.

0
|
0

Marcio
   - 17 mar 2010

Eu uso a versão gratuita do edtftpnet, você pode baixá-la gratuitamente no site do fabricante: http://www.enterprisedt.com/products/edtftpnet/overview.html
[]'s

0
|
0

Alexandre Machado
   - 19 mar 2010

  FtpWebRequest _ftp; // abaixo voce define o arquivo que será transferido _ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://caminho/arquivo")); // abaixo voce detine o metodo de transferencia
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) {
                            progressBar1.Increment(2048);
                            _outputStream.Write(_buffer, 0, _readCount);
                            Application.DoEvents();
                            _readCount = _ftpstream.Read(_buffer, 0, _bufferSize);
                        }                         _ftpstream.Close();
                        _outputStream.Close();
                        _response.Close();

0
|
0

Alexandre Machado
   - 19 mar 2010

  FtpWebRequest _ftp; // abaixo voce define o arquivo que será transferido _ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://caminho/arquivo")); // abaixo voce detine o metodo de transferencia
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; // FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) {    _outputStream.Write(_buffer, 0, _readCount);    _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); } _ftpstream.Close(); _outputStream.Close(); _response.Close();   bom, é mais ou menos isso,   tentei montar uma função para pegar um arquivo, passando por um ISA Server da microsoft, e não consegui, não sei se era alguma configuração do ISA, se for o seu caso fique atento.    

0
|
0

Alexandre Machado
   - 19 mar 2010


Citação:
  FtpWebRequest _ftp; // abaixo voce define o arquivo que será transferido _ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://caminho/arquivo")); // abaixo voce detine o metodo de transferencia
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) {
                            progressBar1.Increment(2048);
                            _outputStream.Write(_buffer, 0, _readCount);
                            Application.DoEvents();
                            _readCount = _ftpstream.Read(_buffer, 0, _bufferSize);
                        }                         _ftpstream.Close();
                        _outputStream.Close();
                        _response.Close();

0
|
0

Alexandre Machado
   - 19 mar 2010

putz, que bagunça que eu fiz. hehehehe

0
|
0