2017-03-15 102 views
1

我正在尝试将PDF文件下载到文档目录。请求成功,但请求完成后文件不存在于文档目录中。Alamofire不下载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!)") 
     } 
    } 
} 
+0

你怎么知道它不是在文件目录? – hasan83

+0

@ hasan83我已经在Mac OSX Terminal的模拟器中检查了应用程序的Documents目录。 – Sicypher

+1

@ bkhosh2可能会帮助你http://stackoverflow.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) ... 
+0

我试过你的代码。请求成功完成,但不幸的是,Documents目录中仍然没有PDF。 – Sicypher

+0

为什么你只是试图检查是否有代码。而且它。也许有别的东西阻止你找到它。那很可能。但它保存在正确的地方。 – hasan83

+0

如果正在编码“filePath”URL,它会影响结果吗?例如,文件路径中的空白“”将被更改为“%20”。 – Sicypher