#swift #alamofire
#swift #alamofire
Вопрос:
У меня был рабочий код с AlamoFire 4, который удалял файлы, если они уже были во временной и целевой папке :
if response.destinationURL != nil {
elf.deleteFileIfexist(dossierToDelete: response.destinationURL)
}
if response.temporaryURL != nil {
self.deleteFileIfexist(dossierToDelete: response.temporaryURL)
}
Все было хорошо, но с AlmoFire 5 все сломано (это утомительно и отнимает много времени, так как каждая новая версия что-то ломает)
Вот пункт назначения:
пусть destination = DownloadRequest.suggestedDownloadDestination(для: .documentDirectory)
Загрузка
AF.download(urlString, метод: .get, параметры: parameters, to: destination)
Поскольку файл уже существует, Alamofire выдает эту ошибку
Alamofire.Ошибка.downloadedFileMoveFailed
Итак, как я могу удалить этот файл?
Ответ №1:
Когда вы вызываете suggestedDownloadDestination(for:in:options:)
функцию, вы можете передать .removePreviousFile
в качестве options
параметра:
let destination = DownloadRequest.suggestedDownloadDestination(
for: .documentDirectory,
options: .removePreviousFile
)
Из DownloadRequest.Options.removePreviousFile
документации:
Указывает, что любой предыдущий файл по целевому URL должен быть удален.