Alamofire 不下载 PDF
Posted
技术标签:
【中文标题】Alamofire 不下载 PDF【英文标题】:Alamofire Not Downloading PDFs 【发布时间】:2017-03-15 18:03:43 【问题描述】:我正在尝试将 PDF 下载到文档目录。请求成功,但是请求完成后文档目录中不存在该文件。
let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory)
let documentsDirectory = FileManager.SearchPathDirectory.documentDirectory
let userDomainMask = FileManager.SearchPathDomainMask.userDomainMask
let paths = NSSearchPathForDirectoriesInDomains(documentsDirectory, userDomainMask, true)
if paths.first != nil
Alamofire.download("http://www.test.com/pdfs/sample.pdf", to: destination).responseData
response in
if response.result.isFailure
print("\(response.error!)")
【问题讨论】:
你怎么知道它不在文档目录上? @hasan83 我已经检查了应用程序的 Documents 目录,在模拟器中,在 Mac OSX 终端中。 @bkhosh2 这可能会帮助你***.com/q/41136560/6433023 【参考方案1】:以下内容对我有用:
let fileExtension: String = fileUrl!.pathExtension
let documentURL: URL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let filePath = documentURL.appendingPathComponent("\(disk_file_name!).\(fileExtension)")
let destination: DownloadRequest.DownloadFileDestination = _, _ in
return (filePath, [.removePreviousFile])
Alamofire.download(URL(string: fileUrl)!, to: destination) ...
【讨论】:
我试过你的代码。请求成功完成,但不幸的是,Documents 目录中仍然没有 PDF。 为什么你只是尝试通过代码检查它是否存在。和它。也许还有其他东西阻止你找到它。那很可能。但它保存在正确的位置。filePath
URL 被编码是否会影响结果?例如,文件路径中的空格“”正在更改为“%20”。
如果你问它是否影响下载过程。它没有。以上是关于Alamofire 不下载 PDF的主要内容,如果未能解决你的问题,请参考以下文章
使用 Alamofire 4 (Swift 3) 下载文件的路径
将使用 Alamofire 下载的文件访问到具有未知文件名的下载目录