Доступ к файлам из запроса на скачивание Alamofire
Итак, я сделал запрос на загрузку с помощью Alamofire и этот запрос и вернуть изображение, голос, видео, и я смог увидеть файл через destinationURL
но мой вопрос заключается в том, как преобразовать результат запроса в данные, которые я могу использовать, например, если я вернул изображение, как добавить его в ImageView, и теперь у меня есть одна проблема: эта функция вызывается каждый раз, когда я открываю страницу, даже если файл был загружен в документ, разве это не приведет к потере памяти? а повлиять на производительность??
let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory)
Alamofire.download(
"url",
method: .get,
parameters: nil,
encoding: JSONEncoding.default,
headers:nil ,
to: destination).downloadProgress(closure: { (progress) in
//progress closure
}).response(completionHandler: { (DefaultDownloadResponse) in
//here you able to access the DefaultDownloadResponse
//result closure
print("*****DefaultDownloadResponse***** \(DefaultDownloadResponse.response) and \(DefaultDownloadResponse.resumeData) and \(DefaultDownloadResponse.destinationURL)")
})
0 ответов
Вы должны сделать это, чтобы отобразить загруженные файлы!
Вы можете пойти по этому пути:
extension ViewPreRegistrationViewController : UIDocumentInteractionControllerDelegate {
func startDownload(Url:String) -> Void {
headers = ["Authorization": "Token \(Auth.userToken!)"]
let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory)
Alamofire.download(
Url,
method: .get,
encoding: JSONEncoding.default,
headers: headers,
to: destination).downloadProgress(closure: { (progress) in
//progress closure
}).response(completionHandler: { (DefaultDownloadResponse) in
//here you able to access the DefaultDownloadResponse
let docController = UIDocumentInteractionController(url: DefaultDownloadResponse.destinationURL!)
docController.delegate = self
docController.name = "show"
docController.presentPreview(animated: true)
//result closure
})
}
func documentInteractionControllerViewControllerForPreview(_ controller: UIDocumentInteractionController) -> UIViewController {
return self
}
}
и используйте:
@IBAction func exportPdfButton(_ sender: Any) {
let fullURL = "your url"
startDownload(Url: fullURL)
}