Ceci télécharge un fichier .csv via FTP. Le fichier est 46k sur le serveur. Quand je télécharge, il est tronqué à 44k. Je n'ai aucune idée pourquoi ... quand je vois les données dans Excel, il est coupé court. J'ai augmenté le tampon à 4096 mais pas de dés (ce n'est probablement pas le problème).Le téléchargement du fichier FTP (.csv) est tronqué
Je saisis à l'origine le code suivant et pincé à partir de: Downloading Files Using FTPWebRequest
Toutes les pensées appréciées! Merci.
private void DownloadFile(string userName, string password, string ftpSourceFilePath, string localDestinationFilePath)
{
int bytesRead = 0;
byte[] buffer = new byte[2048];
FtpWebRequest request = CreateFtpWebRequest(ftpSourceFilePath, userName, password, false);
request.Method = WebRequestMethods.Ftp.DownloadFile;
Stream reader = request.GetResponse().GetResponseStream();
FileStream fileStream = new FileStream(localDestinationFilePath, FileMode.Create);
while (true)
{
bytesRead = reader.Read(buffer, 0, buffer.Length);
if (bytesRead == 0)
break;
fileStream.Write(buffer, 0, bytesRead);
}
}
private FtpWebRequest CreateFtpWebRequest(string ftpDirectoryPath, string userName, string password, bool keepAlive)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(ftpDirectoryPath));
//Set proxy to null. Under current configuration if this option is not set then the proxy that is used will get an html response from the web content gateway (firewall monitoring system)
request.Proxy = null;
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = keepAlive;
request.Credentials = new NetworkCredential(userName, password);
return request;
}
Toujours utiliser le bloc-notes trop regarder à votre fichier CSV, et ensemble binaire false – meda
Qu'est-ce qui se passe si vous ajoutez un fileStream.Close() juste après la boucle while? Ou si vous faites votre tampon si gros que le fichier entier tient dans une lecture? – rene
@rene> le fichier fileStream.Close() a fonctionné! bravo ... si je pouvais, j'accepterais ta réponse mais je suppose que nous ne pouvons pas accepter les commentaires ... merci! – nanonerd