我正在尝试使用JSch将文件从SFTP服务器下载到我的本地计算机。它无论文件大小如何都只下载16371字节的数据并结束传输。它不会抛出任何异常。如果文件小于16371字节,则会过度传输,但对于任何较大的文件,传输都会导致文件损坏。
答案 0 :(得分:1)
实际上我设法解决了这个问题。我换了:
SftpProgressMonitor monitor = new MySftpProgressMonitor();
channelSftp.get(sourceFile, destFile, monitor);
使用:
channelSftp.get(sourceFile, destFile);
删除进度监视器后,传输过程非常顺利。我想这是Jsch内部的一个错误。
答案 1 :(得分:0)
我遇到了一个特殊的sftp服务器问题。我唯一的解决方案是使用LFTP,这是一个用于自动执行SFTP任务的linux命令。如果您有Linux环境,那么它非常有用。
PHP中的示例: $ command = set net:timeout 30; lcd $ directorioDestino; cd / Usr / companies / cdrusr357901 / CallCenterRecords /; mget {$ prefijoArchivosAuris} *;再见 lftp -u {$ this-> user},{$ this-> password} -e'$ command'sftp:// {$ this-> host}