使用Alamofire下载文件

时间:2015-10-01 13:19:15

标签: ios swift alamofire

我正在将文件下载到这样的自定义文件路径:

let tempFilePath = self.makeTempFilePath()
Alamofire.download(.GET, downloadURL) { temporaryURL, response in
    return tempFilePath
}

我如何知道下载何时完成以及成功/失败状态?我尝试responseData封闭,但result参数始终显示为“失败”。

1 个答案:

答案 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)
     }

使用上面的代码,您可以了解totalBytesExpectedToReadtotalBytesRead,并部分了解两者之间的区别,以检查文件是否已下载。

在任何情况下,您都可以在下载过程中使用Alamofire文档中解释的Accessing Resume Data for Failed Downloads

我希望这对你有所帮助。