Alamofire iOS - 指定非临时目录的下载期间位置

时间:2017-09-11 09:02:26

标签: ios download alamofire temp

我知道Alamofire(iOS)允许指定下载目标,但文件会保留在临时目录中,直到下载完成。我们希望能够在此过程中将文件放在文档目录中(并在完成后保留下载文件)。

有人知道这是否可行?

由于

2 个答案:

答案 0 :(得分:1)

我无法通过下载任务完成此任务。 Alamofire基本上包含了URLSession,而Alamofire.download包含了URLSessionDownloadTask,我已经尝试过在Alamofire之外使用它了。该文件不会放在您的下载目标中,直到完成为止。

为了实现这一点,我必须使用URLSessionDataTask,并使用重复打开和关闭的am OutputStream / NSOutputStream将数据块按块写入文件,以便刷新它,并且可以在完成之前阅读。这就是我想要完成的事情,它似乎有效,并且工作速度超过了足够快。

答案 1 :(得分:-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)
    }
}

根据需要更改文档目录路径