微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

System.Net.FtpClient.FtpCommandException: 指定的网络名称不再可用

如何解决System.Net.FtpClient.FtpCommandException: 指定的网络名称不再可用

下面的代码从 FTP 服务器获取文件并将它们存储在本地。

它适用于 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?