2017-03-15 7 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

関連する問題