Загружает CSV-файл, используя FTP. Файл - 46k на сервере. Когда я загружаю, он обрезается до 44k. Я понятия не имею, почему ... когда я просматриваю данные в Excel, это сокращается. Я увеличил буфер до 4096, но не кубиками (это, вероятно, не проблема).Файл FTP (.csv) загружается, усекается
я изначально взял следующий код и отлажен его от: Downloading Files Using FTPWebRequest
Любых мыслей оценили! Благодарю.
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;
}
Всегда используйте блокнот тоже смотрите на свой файл CSV, и установить двоичные ложные – meda
Что происходит, если добавить fileStream.Close() только после того, как времени цикла? Или если вы делаете свой буфер настолько большим, чтобы весь файл вписывался в один файл? – rene
@rene> fileStream.Close() работал! браво ... если бы мог, я бы принял ваш ответ, но я думаю, мы не можем принимать комментарии ... спасибо! – nanonerd