c# - FTP下载慢
问题描述
我正在使用以下代码从 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 客户端下载文件时,速度要快得多。
这与缓冲区大小有关吗?有什么方法可以让这更快?
解决方案
推荐阅读
- javascript - 无法读取未定义的属性“用户名”...与正文解析器有关
- javascript - 我想获取新选择的数据并将其从模态附加到 Laravel 行中的数据表,以通过 ajax 请求控制器进入数据库
- html - 在 React Native 中渲染不同的页面
- vue.js - 切片输入vue js
- android - NumberPicker 对非 SDK 接口的限制
- javascript - 如何使用提交按钮上传到 Firebase 存储
- python - pandas 数据框转换为 xyz 数据以用于 pyecharts
- reactjs - 使用 Hooks 在 React Js 中切换多个部分的问题
- webgl - WebGL 在移动设备上的限制
- multithreading - Powershell - 从自定义事件处理程序访问全局同步哈希表