我正在将文件下载到这样的自定义文件路径:
let tempFilePath = self.makeTempFilePath()
Alamofire.download(.GET, downloadURL) { temporaryURL, response in
return tempFilePath
}
我如何知道下载何时完成以及成功/失败状态?我尝试responseData
封闭,但result
参数始终显示为“失败”。
答案 0 :(得分:0)
我担心你能做的就是使用Alamofire文档中解释的Downloading a File w/Progress,如下所示:
Alamofire.download(.GET, "http://httpbin.org/stream/100", destination: destination)
.progress { bytesRead, totalBytesRead, totalBytesExpectedToRead in
print(totalBytesRead)
// This closure is NOT called on the main queue for performance
// reasons. To update your ui, dispatch to the main queue.
dispatch_async(dispatch_get_main_queue) {
print("Total bytes read on main queue: \(totalBytesRead)")
}
}
.responseData { response in
print(response)
}
使用上面的代码,您可以了解totalBytesExpectedToRead
和totalBytesRead
,并部分了解两者之间的区别,以检查文件是否已下载。
在任何情况下,您都可以在下载过程中使用Alamofire文档中解释的Accessing Resume Data for Failed Downloads。
我希望这对你有所帮助。