我使用以下脚本在SFTP服务器上上载zip文件。虽然我在服务器上看到了这个文件,但它总是显示它是0 Kb
#Code to upload file to a SFTP server abc.com
import chilkat
sftp = chilkat.CkSFtp()
success = sftp.UnlockComponent("Anything trial")
puttyKey = chilkat.CkSshKey()
ppkText = puttyKey.loadText("xyz.ppk")
success = puttyKey.FromPuttyPrivateKey(ppkText)
sshHostname = "abc.com"
sshPort = 22
success = sftp.Connect(sshHostname,sshPort)
sftp.AuthenticatePwPk("username", "password", puttyKey)
success = sftp.InitializeSftp()
filename = "file.zip"
handle = sftp.openFile(filename ,"writeOnly","createTruncate")
success = sftp.UploadFile(handle,"file.zip")
success = sftp.CloseHandle(handle)
您没有检查调用的成功返回值。如果openFile和CloseHandle都成功了,但是UploadFile失败了,那么结果将是服务器上一个0长度的文件。在
您传递的文件名没有上载文件的路径。这意味着您正在尝试上载文件“文件.zip“从应用程序的当前工作目录,不管是什么。我怀疑”文件.zip“实际上不在应用程序的当前工作目录中。您可以指定完整的绝对路径或相对路径,而不是“文件.zip". 例如,“c:\someDir\文件.zip". 在
另外,如果在检查方法调用的成功/失败后发现它失败,请检查对象的LastErrorText属性的内容(sftp.LastErrorText文件). 它将提供方法调用中发生的详细信息。在
相关问题 更多 >
编程相关推荐