Ниже приведен метод загрузки контента с FTP, но если я просто разрешу программе работать, это не сработает. Если я медленно продвигаюсь по коду, он работает. Если я просто позволю ему работать сам по себе, он загружает только 5 кбайт файла, а затем переходит. Это не исключение, оно просто загружает 5kb, а затем завершает работу, переходя к следующему элементу.Загрузка файла по FTP не удалась (загружает только часть файла)
private static void DownloadFtpFile(string sourceFileLocation)
{
try
{
int bufferSize = 1024 * 300;
int totalBytes = 0;
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(sourceFileLocation);
long contentLength = webRequest.GetResponse().ContentLength;
Console.WriteLine(totalBytes);
using (WebResponse webResponse = webRequest.GetResponse())
using (Stream reader = webResponse.GetResponseStream())
using (BinaryWriter fileWriter = new BinaryWriter(File.Create(Application.StartupPath + "\\" + "tempFldr" + "\\" + "tempFile")))
{
int bytesRead = 0;
byte[] buffer = new byte[bufferSize];
do
{
bytesRead = reader.Read(buffer, 0, buffer.Length);
totalBytes += bytesRead;
fileWriter.Write(buffer, 0, bytesRead);
Console.WriteLine("BytesRead: " + bytesRead + " -- TotalBytes: " + totalBytes);
} while (bytesRead > 0);
}
}
catch (WebException ex)
{
String status = ((HttpWebResponse)ex.Response).StatusDescription;
Console.WriteLine(status);
}
}