Djzlouk
Messages postés70Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention20 janvier 2011
-
4 août 2010 à 00:15
Djzlouk
Messages postés70Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention20 janvier 2011
-
9 août 2010 à 09:03
Bonjour,
J'ai un serveur FTP qui contient un ZIP.
Je souhaite tout simplement le télécharger sur ma machine et le dézipper.
Pour cela, je fais :
1) La copie sur ma machine
2) Le 'dézippage'
La partie 1 :
//filePath: The full path where the file is to be created.
//fileName: Name of the file to be createdNeed not name on
// the FTP server. name name()
FileStream outputStream = new FileStream(adresseDestination + "\" +
nomFichier, FileMode.Create);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServer + "/" + adresseSource + "/" + nomFichier));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.UseBinary = false;
reqFTP.Credentials = new NetworkCredential(ftpUserID,
ftpPassword);
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 20480;
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();
Et le dézippage ne marche pas, car le fichier ZIP est corrompu.
Donc, j'ai fait le test en téléchargeant manuellement le fichier... et cela marche tres bien.
C'est donc que le code du téléchargement ne doit pas etre bon...
J'ai regardé tout ca d'un peu peu prêt et comparé le ZIP recu par programme et celui téléchargé manuellement... et la différence se trouve autour des 0D 0A et 0A. Dans le zip qui marche on ne trouve que des 0A, dans celui corrompu, il y a des 0D 0A.
Bref, je ne vois pas ce qui ne marche pas... Ou y a t il a un autre moyen de récupérer un fichier sur un ftp sans rien changer au niveau binaire?
(PS : Le fichier sur le serveur est bien sur bon :p)