Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let ftp = CkoFtp2()!
ftp.hostname = "ftp.example.com"
ftp.username = "my_login"
ftp.password = "my_password"
ftp.port = 21
ftp.authTls = true
success = ftp.connect()
if success != true {
print("\(ftp.lastErrorText!)")
return
}
// Change to the "images" sub-directory located under our FTP account's home directory.
success = ftp.changeRemoteDir(relativeDirPath: "images")
if success != true {
print("\(ftp.lastErrorText!)")
return
}
ftp.listPattern = "*.png"
// Fetch the current remote directory contents by calling GetDirCount
var n: Int = ftp.getDirCount().intValue
if n < 0 {
print("\(ftp.lastErrorText!)")
return
}
var i: Int = 0
var filename: String?
let sbLocalPath = CkoStringBuilder()!
while i < n {
filename = ftp.getFilename(index: i)
print("\(filename!)")
// Download this file.
sbLocalPath.setString(value: "qa_output/")
sbLocalPath.append(value: filename)
success = ftp.getFile(remoteFilename: filename, localPath: sbLocalPath.getAsString())
if success != true {
print("\(ftp.lastErrorText!)")
return
}
i = i + 1
}
}