1

我正在尝试使用 JSch 将文件从 SFTP 服务器下载到我的本地计算机。无论文件大小如何,它只下载 16371 字节的数据并结束传输。它不会抛出任何异常。如果文件小于 16371 字节,则会成功传输,但对于任何较大的文件,传输都会导致文件损坏。

4

2 回答 2

1

实际上我设法解决了这个问题。我更换了:

    SftpProgressMonitor monitor = new MySftpProgressMonitor();
    channelSftp.get(sourceFile, destFile, monitor);

和:

    channelSftp.get(sourceFile, destFile);

删除进度监视器后,传输成功。我猜这是Jsch内部的一个错误。

于 2013-03-22T21:25:01.383 回答
0

我在使用特殊的 sftp 服务器时遇到了同样的问题。我独特的解决方案是使用LFTP,这是一个用于自动化 SFTP 任务的 linux 命令。如果您有 Linux 环境,它非常有用。

PHP 中的示例: $command = set net:timeout 30; 液晶显示器 $directorioDestino; cd /Usr/companies/cdrusr357901/CallCenterRecords/;mget {$prefijoArchivosAuris}*; 再见 lftp -u {$this->user},{$this->password} -e '$command' sftp://{$this->host}

于 2013-03-22T20:22:27.743 回答