FTP TSL

lunedì 04 febbraio 2008 - 11.08

fabio barbieri Profilo | Newbie

Ciao a Tutti,
Dovrei sviluppare una classe che invia e riceve file in Secure FTP con TLS/SSL.

Ho scritto questo medodo ma sulla riga (Stream strm = reqFTP.GetRequestStream();) mi restituisce il seguente errore:
Errore del server remoto: (550) File non disponibile (ad esempio file non trovato o non accessibile)

DOVE SBAGLIO ?????
Grazie

public void Upload(string filename)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(MyCertValidationCb);

FileInfo fileInf = new FileInfo(filename);
string uri = "ftp://" + _ftpServerIP + "/" + fileInf.Name;
FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + _ftpServerIP + "/" + fileInf.Name));

WebProxy myProxy = new WebProxy();
if (_ProxyUser != "")
{
if (_ProxyServer == "")
{
myProxy = WebProxy.GetDefaultProxy();
}
else
{
Uri newUri = new Uri(_ProxyServer);
myProxy.Address = newUri;
myProxy.BypassProxyOnLocal = true;
}

myProxy.Credentials = new NetworkCredential(_ProxyUser,_ProxyPWD, _ProxyDomain);
reqFTP.Proxy = myProxy;
}

reqFTP.Credentials = new NetworkCredential(_ftpUserID, _ftpPassword);
reqFTP.KeepAlive = false;
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
reqFTP.UseBinary = true;
reqFTP.ContentLength = fileInf.Length;

reqFTP.UsePassive = true;
//reqFTP.EnableSsl = true;

int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;

FileStream fs = fileInf.OpenRead();

try
{
Stream strm = reqFTP.GetRequestStream();
contentLen = fs.Read(buff, 0, buffLength);
while (contentLen != 0)
{
strm.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}

strm.Close();
fs.Close();
}
catch (Exception ex)
{
throw new Exception("[ERROR] Upload... ", ex);
}
}
http://www.sbacode.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5