DataFlex
DataFlex
Get a Remote FTP File's Size by Name as a String
See more FTP Examples
Demonstrates the Chilkat Ftp2.GetSizeStrByName method, which returns the size in bytes of a named file in the current remote directory as a decimal string. The only argument is the filename.
Background: Returning the size as text avoids integer-width limits entirely, so this is the safe choice for a file of any size and for languages without a convenient large-integer type. Like the other by-name lookups it takes a bare filename in the current directory; parse the string when you need arithmetic, or use it directly for display.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoFtp
String sFileSize
String sTemp1
Boolean bTemp1
Move False To iSuccess
// Demonstrates the Ftp2.GetSizeStrByName method, which returns the size in bytes of a named file
// in the current remote directory as a decimal string. The only argument is the filename.
Get Create (RefClass(cComChilkatFtp2)) To hoFtp
If (Not(IsComObjectCreated(hoFtp))) Begin
Send CreateComObject of hoFtp
End
Set ComHostname Of hoFtp To "ftp.example.com"
Set ComUsername Of hoFtp To "myFtpLogin"
// Normally you would not hard-code the password in source. You should instead obtain it
// from an interactive prompt, environment variable, or a secrets vault.
Set ComPassword Of hoFtp To "myPassword"
Get ComConnect Of hoFtp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComChangeRemoteDir Of hoFtp "public_html" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
// The string form avoids integer-size limits, so it is safe for files of any size.
Get ComGetSizeStrByName Of hoFtp "bigfile.zip" To sFileSize
Get ComLastMethodSuccess Of hoFtp To bTemp1
If (bTemp1 = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "bigfile.zip is " sFileSize " bytes"
Get ComDisconnect Of hoFtp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
End_Procedure