使用 alamofire 下载不完整的文件
Posted
技术标签:
【中文标题】使用 alamofire 下载不完整的文件【英文标题】:Incomplete files download with alamofire 【发布时间】:2015-10-13 23:57:57 【问题描述】:我有一个包含 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")
有什么想法???
【问题讨论】:
不知道alamofire是什么,但是看起来你下载太快了,我一次下载一个,我会把它放在答案中,这样代码会更好 【参考方案1】: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;
【讨论】:
@KnightOfDragon 谢谢,我试试看结果告诉你以上是关于使用 alamofire 下载不完整的文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Alamofire 4 (Swift 3) 下载文件的路径
Xcode:Alamofire 源代码中的 Swift Dropbox 错误
将使用 Alamofire 下载的文件访问到具有未知文件名的下载目录