使用 Alamofire 下载图像并保存到 Mac 上的应用程序支持
Download Image Using Alamofire and Save to Application Support on Mac
Alamofire 自述文件表明您可以下载并保存这样的文件:
let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)
Alamofire.download(.GET, "http://httpbin.org/stream/100", destination: destination)
...但我想更改保存位置。如何将 .DocumentDirectory
更改为我的应用程序在 Mac OS X 上的 Application Support
路径?
我可以像这样生成我的应用程序的本地 NSURL
路径:
let path = NSFileManager.defaultManager().URLsForDirectory(.ApplicationSupportDirectory, inDomains: .UserDomainMask)[0] as NSURL
let newPath = path.URLByAppendingPathComponent("MyApp/user-profile.png")
我不清楚如何将其与 Alamofire suggestedDownloadDestination
一起使用。
有什么想法吗?
suggestedDownloadDestination 将尝试查找可用目录,但在您的情况下,您已经知道完整路径,因此不需要它。
只需用您的路径创建一个闭包:
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 })
Alamofire 自述文件表明您可以下载并保存这样的文件:
let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)
Alamofire.download(.GET, "http://httpbin.org/stream/100", destination: destination)
...但我想更改保存位置。如何将 .DocumentDirectory
更改为我的应用程序在 Mac OS X 上的 Application Support
路径?
我可以像这样生成我的应用程序的本地 NSURL
路径:
let path = NSFileManager.defaultManager().URLsForDirectory(.ApplicationSupportDirectory, inDomains: .UserDomainMask)[0] as NSURL
let newPath = path.URLByAppendingPathComponent("MyApp/user-profile.png")
我不清楚如何将其与 Alamofire suggestedDownloadDestination
一起使用。
有什么想法吗?
suggestedDownloadDestination 将尝试查找可用目录,但在您的情况下,您已经知道完整路径,因此不需要它。
只需用您的路径创建一个闭包:
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 })