Я загружаю файл с FTP, используя этот код:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(downloadPath);
request.UsePassive = false;
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential(_ftpUser, _ftpPass);
using (var response = (FtpWebResponse)request.GetResponse())
using (var responseStream = response.GetResponseStream())
using (var writer = new FileStream(savePath, FileMode.Create))
{
long length = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[2048];
readCount = responseStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
writer.Write(buffer, 0, readCount);
readCount = responseStream.Read(buffer, 0, bufferSize);
}
}
Это работает, но файл большой, и когда я скачиваю файл с помощью клиента Filezilla, он намного быстрее.
Это связано с размером буфера? Какими способами я могу сделать это быстрее?