如何解决System.Net.FtpClient.FtpCommandException: 指定的网络名称不再可用
它适用于 1.8 GB 的文件大小,抛出 System.Net.FtpClient.FtpCommandException:指定的网络名称在 1.99 GB 左右时不再可用
var destinationPath = Path.Combine(path,ftpListItem.Name);
ftpClient.ReadTimeout = 45000;
ftpClient.socketKeepAlive = true;
using (var ftpStream = ftpClient.OpenRead(ftpListItem.FullName))
{
int bufferToRead = 8;
int buffSize = (int)ftpStream.Length == 0 ? 1 : (int)ftpStream.Length;
using (var fileStream = File.Create(destinationPath,buffSize))
{
var buffer = new byte[bufferToRead * 1024 * 1024];
int count;
while ((count = ftpStream.Read(buffer,buffer.Length)) > 0)
{
fileStream.Write(buffer,count);
}
}
}
在 fileStream.Write(buffer,count); 行抛出异常;
异常
System.Net.FtpClient.FtpCommandException: The specified network name is no longer available.
at System.Net.FtpClient.FtpClient.CloseDataStream(FtpDataStream stream)
at System.Net.FtpClient.FtpDataStream.Close()
at System.Net.FtpClient.FtpSocketStream.dispose()
at Batch_FtpTransfer.BLL.RequestBLL.downloadFile(RequestDTO request,String path,FtpListItem ftpListItem,FtpClient ftpClient) in C:\SourceCode\Batch_FtpTransfer\Batch_FtpTransfer\Batch_FtpTransfer\BLL\RequestBLL.cs:line 51
at Program.Main(String[] args) in C:\SourceCode\Program.cs:line 71
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。