使用Alamofire下载图像并保存到Mac上的应用程序支持

时间:2015-02-08 05:33:02

标签: cocoa swift nsfilemanager alamofire

Alamofire自述文件表明您可以下载并保存如下文件:

let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)

Alamofire.download(.GET, "http://httpbin.org/stream/100", destination: destination)

...但我想更改保存位置。如何在Mac OS X上将.DocumentDirectory更改为我应用的Application Support路径?

我可以像这样生成应用的本地NSURL路径:

let path = NSFileManager.defaultManager().URLsForDirectory(.ApplicationSupportDirectory, inDomains: .UserDomainMask)[0] as NSURL
let newPath = path.URLByAppendingPathComponent("MyApp/user-profile.png")

我不清楚如何在Alamofire的suggestedDownloadDestination中使用它。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

suggestDownloadDestination将尝试查找可用目录,但在您的情况下,您已经知道完整路径,因此您不需要它。

只需使用您的路径创建一个闭包:

let path = NSFileManager.defaultManager().URLsForDirectory(.ApplicationSupportDirectory, inDomains: .UserDomainMask)[0] as NSURL
let newPath = path.URLByAppendingPathComponent("MyApp/user-profile.png")
Alamofire.download(.GET, "http://httpbin.org/stream/100", { _ in newPath })