0

我正在使用 SSH.NET (Renci.SshNet) 库来检索 SQL 文件的内容,但是当我尝试在 500MB 文件上使用以下代码时,它似乎无法处理大文件,因为我的计算机崩溃了。

using (SshCommand command = client.CreateCommand("cat " + filename))
                                {
                                    filecontent = command.Execute();
                                    SaveFileDialog theDialog = new SaveFileDialog();
                                    theDialog.Title = "Backup - " + filename;
                                    theDialog.Filter = "SQL files|*.sql";
                                    theDialog.FileName = filename;
                                    if (theDialog.ShowDialog() == true)
                                    {
                                        File.WriteAllText(theDialog.FileName, filecontent);
                                    }

                                }

然后我尝试使用 SFTP 来获取文件,但由于某种原因我无法访问 httpd.private 文件夹,所以我目前在尝试复制大文件时被卡住了。

如何使用类似的技术将大文件传输到我的 C# 应用程序进行保存?我相信 SFTP 是一个更好的解决方案,但我无法访问生成 sql 的文件夹。

SQL 文件是通过 mysqldump 命令生成的。

谢谢!

4

1 回答 1

0

我必须实现使用构建到 SSH.net 中的 SftpClient 并使用 SftpClient.ListDirectory() 遍历文件夹并将文件名与我正在寻找的文件进行比较。然后我打开一个流并使用 SftpClient.DownloadFile() 下载文件。

于 2015-07-12T20:46:08.660 回答