我有一个包含60个远程文件(图像)的列表,我想下载所有这些文件,但是当我尝试在这里下载15个图像时我的代码
let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)
for var i = 1; i < 61; i++ {
Alamofire.download(.GET, "https://domain.com/folder/\(i).jpg", destination: destination)
.progress { bytesRead, totalBytesRead, totalBytesExpectedToRead in
dispatch_async(dispatch_get_main_queue()) {
print("Total bytes read on main queue: \(totalBytesRead)")
}
}
.response { _, _, _, error in
if let error = error {
print("Failed with error: \(error)")
} else {
print("Downloaded file successfully")
}
}
}
任何想法???
答案 0 :(得分:0)
func doDownload(i:int)
{
if(i > 60)
{
return;
}
let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)
Alamofire.download(.GET, "https://domain.com/folder/\(i).jpg", destination: destination)
.progress { bytesRead, totalBytesRead, totalBytesExpectedToRead in
dispatch_async(dispatch_get_main_queue()) {
print("Total bytes read on main queue: \(totalBytesRead)")
}
}
.response { _, _, _, error in
if let error = error {
print("Failed with error: \(error)")
} else {
print("Downloaded file successfully")
doDownload(i + 1); //If you only want to download on success do it here
}
//Otherwise doDownload(i + 1)here;
}
}