2017-09-11 12 views
0

Alamofire (iOS)는 다운로드 대상을 지정할 수 있지만 파일은 다운로드가 완료 될 때까지 임시 디렉토리에 남아 있습니다. 이 과정에서 문서 디렉토리에 파일을 보관할 수 있기를 원합니다 (다운로드가 완료되면 다운로드를 유지해야합니다).Alamofire iOS - 임시 디렉토리가 아닌 다운로드 위치 지정

가능하면 누구에게 알리십니까?

감사

답변

0

다운로드 작업으로이 작업을 수행하지 못했습니다. Alamofire는 본질적으로 URLSession을 래핑하고, Alamofire.download는 URLSessionDownloadTask를 래핑하고, 이미 Alamofire 외부에서 이것을 사용하려했습니다. 파일은 완료 될 때까지 다운로드 대상에 포함되지 않습니다.

지금까지는 URLSessionDataTask를 사용하여 반복적으로 열리고 닫히는 OutputStream/NSOutputStream을 사용하여 청크로 데이터 청크를 파일에 작성하여 플러시되고 완료되기 전에 읽으십시오. 그것이 내가 성취하고자하는 일이며, 효과가있는 것처럼 보이며, 충분히 빨리 작동합니다.

-1

예,

let destination: DownloadRequest.DownloadFileDestination = { _, _ in 
    let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] 
    let fileURL = documentsURL.appendPathComponent("pig.png") 

    return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) 
} 

Alamofire.download(urlString, to: destination).response { response in 
    print(response) 

    if response.result.isSuccess, let imagePath = response.destinationURL?.path { 
     let image = UIImage(contentsOfFile: imagePath) 
    } 
} 

변경 문서 디렉토리 경로 당신이 필요로 다운로드 위치의 URL을 지정합니다.

+0

죄송합니다. 내 질문에 대해 오해 하셨을 것입니다. 나는 Alamofire가 다운로드 URL을 지정할 수 있음을 이미 알고 있다고 말하고있었습니다. – Cloov