Go
Go
FTP Iterate over Files in Directory Matching ListPattern
See more RSA Examples
Uses the ListPattern property to iterate over the files in a directory matching the pattern.Chilkat Go Downloads
success := false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
ftp := chilkat.NewFtp2()
ftp.SetHostname("ftp.example.com")
ftp.SetUsername("my_login")
ftp.SetPassword("my_password")
ftp.SetPort(21)
ftp.SetAuthTls(true)
success = ftp.Connect()
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
return
}
// Change to the "images" sub-directory located under our FTP account's home directory.
success = ftp.ChangeRemoteDir("images")
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
return
}
ftp.SetListPattern("*.png")
// Fetch the current remote directory contents by calling GetDirCount
n := ftp.GetDirCount()
if n < 0 {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
return
}
i := 0
var filename *string = new(string)
sbLocalPath := chilkat.NewStringBuilder()
for i < n {
filename = ftp.GetFilename(i)
fmt.Println(*filename)
// Download this file.
sbLocalPath.SetString("qa_output/")
sbLocalPath.Append(*filename)
success = ftp.GetFile(*filename,*sbLocalPath.GetAsString())
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
sbLocalPath.DisposeStringBuilder()
return
}
i = i + 1
}
ftp.DisposeFtp2()
sbLocalPath.DisposeStringBuilder()