Как удалить существующий файл с помощью Alamofire 5?

#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 должен быть удален.