Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Streaming SFTP DownloadDemonstrates how to download a file chunk by chunk from an SSH server.
' Important: It is helpful to send the contents of the ' sftp.LastErrorText property when requesting support. Dim sftp As New Chilkat.SFtp() ' Any string automatically begins a fully-functional 30-day trial. Dim success As Boolean success = sftp.UnlockComponent("Anything for 30-day trial") If (success <> true) Then MsgBox(sftp.LastErrorText) Exit Sub End If ' Set some timeouts, in milliseconds: sftp.ConnectTimeoutMs = 5000 sftp.IdleTimeoutMs = 15000 ' Connect to the SSH server. ' The standard SSH port = 22 ' The hostname may be a hostname or IP address. Dim port As Long Dim hostname As String hostname = "www.my-ssh-server.com" port = 22 success = sftp.Connect(hostname,port) If (success <> true) Then MsgBox(sftp.LastErrorText) Exit Sub End If ' Authenticate with the SSH server. Chilkat SFTP supports ' both password-based authenication as well as public-key ' authentication. This example uses password authenication. success = sftp.AuthenticatePw("myLogin","myPassword") If (success <> true) Then MsgBox(sftp.LastErrorText) Exit Sub End If ' After authenticating, the SFTP subsystem must be initialized: success = sftp.InitializeSftp() If (success <> true) Then MsgBox(sftp.LastErrorText) Exit Sub End If ' Open a file on the server: Dim handle As String handle = sftp.OpenFile("hamlet.xml","readOnly","openExisting") If (handle = vbNullString ) Then MsgBox(sftp.LastErrorText) Exit Sub End If Dim pData() As Byte Dim bEof As Boolean bEof = false Dim chunkSize As Long chunkSize = 10000 While bEof = false pData = sftp.ReadFileBytes(handle,chunkSize) If (sftp.LastReadFailed(handle) = true) Then MsgBox(sftp.LastErrorText) Exit While Else ' Do whatever you wish with the data received... ' It is possible that if the EOF is reached, 0 bytes will be returned. End If bEof = sftp.Eof(handle) End While ' Close the file. success = sftp.CloseHandle(handle) If (success <> true) Then MsgBox(sftp.LastErrorText) Exit Sub End If MsgBox("Success.") |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.