INET::FTP Class
Description
Class for uploading data using FTP/FTPS(FTP over SSL). For SFTP (FTP over SSH), use INET::SFTP
Example
dim f as inet::ftp
dim ctxt as p
ctxt.SourceFile = "String - 'Fred - xxxxx' "
ctxt.TargetFile = "fred.txt"
statusbar.set_text("Starting test...")
f.host = "kurt64"
f.UserContext = ctxt
f.eventscript = <<%code%
FUNCTION SendBegin as L (FTP as INET::FTP, ExpectedSize as N, BYREF ProgressInterval as N, BYREF Cancel as L)
' Turn off progress events.
'ProgressInterval = 1
statusbar.set_text("Beginning transfer of " + ftp.usercontext.SourceFile +" to " + ftp.usercontext.TargetFile)
END FUNCTION
FUNCTION SendProgress as L (FTP as INET::FTP, ExpectedSize as N, BytesSent as N, BYREF Cancel as L)
statusbar.set_text("Transferred " + BytesSent + " of " + ExpectedSize + " from " + ftp.usercontext.SourceFile + " to " + ftp.usercontext.TargetFile)
END FUNCTION
FUNCTION SendCanceled as L (FTP as INET::FTP)
statusbar.set_text("Canceled transfer of " + ftp.usercontext.SourceFile + " to " + ftp.usercontext.TargetFile)
END FUNCTION
FUNCTION SendCompleted as L (FTP as INET::FTP, SizeSent as N)
statusbar.set_text("Completed transfer of " + ftp.usercontext.SourceFile + " to " + ftp.usercontext.TargetFile)
END FUNCTION
FUNCTION SendEnd as L (FTP as INET::FTP)
statusbar.set_text("Ready to send again!")
END FUNCTION
%code%
f.sendstringdata(ctxt.SourceFile, ctxt.TargetFile)
'showvar(f.usercontext)
showvar(f.eventscript + crlf() + "Status" + crlf() + f.callresult.text + crlf() + f.callresult.nativetext, "Done")Properties
- CallResultCallResult
The result of the last call to a method on the FTP class.
- HostCharacter
Default = "localhost". The location of the FTP server.
- KeepAliveLogical
Default = .f.. Defines whether or not the connection to the FTP server should be closed after the request completes. If .t., connection will remain open. Otherwise, connection will be closed.
- UsePassiveLogical
Default = .t.. Gets or sets the behavior of the data transfer process.
- EnableSSLLogical
Default = .f.. If .t., FTPS will be used.
- RequireValidCertificateLogical
Default = .t.. If set to .t., SSL connections will validate the certificate.
- BufferSizeNumeric
Default = 8192. The buffer size to use in transferring files. Performance can be improved on large file transfers by increasing the size of this buffer. Setting the property is optional.
- TimeOutNumeric
The number of milliseconds to wait for a request. If no request is received within the specified time frame, the operation is aborted.
- UserNameCharacter
The user name for authentication.
- PasswordCharacter
The password for authentication.
- TotalLengthNumeric
The total length of the file or buffer being sent.
- EventScriptCharacter
An Xbasic script that implements one or more functions to respond to the SendBegin, SendProgress, SendCancelled and SendCompleted events. Note that SendBegin and SendProgress pass a flag that can be set to .t. to cancel the transfer. See example above.
- UserContextPointer
A reference to an Xbasic object to be passed into event functions. Use this to provide some context for event scripts such as the file requested and the target name.
- LengthSentNumeric
The length of data sent so far. Used with the Xbasic event script to display or respond to progress events.
Methods
- DeleteFile Method
Remove a file from the server.
- ListDirectory Method
Retrieves a directory of files within a folder on the server.
- ReceiveBinaryData Method
Receives the contents of a server file into a binary buffer.
- ReceiveFile Method
Receive a file from the server. Contents are received as binary unless ReceiveBinary is set to .f.
- ReceiveStringData Method
Receive the contents of a server file into a text buffer.
- SendBinaryData Method
Send a buffer of binary data to the target file specified.
- SendFile Method
Send a file to the server. Contents are sent as binary unless SendBinary is set to .f.
- SendStringData Method
Send a buffer of text data to the target file specified.
See Also