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