Wie kann ich überprüfen, ob eine bestimmte Datei bereits heruntergeladen wurde, bevor Sie sie mit Alamofire erneut herunterladen? Ich verwende suggestedDownloadDestination
, also wählt Alamofire automatisch den Namen der Datei und speichert sie im gewählten Verzeichnis, zum Beispiel .CachesDirectory
. Das Problem ist, dass der Wert von suggestedDownloadDestination
vom Typ DownloadFileDestination
ist, der eine NSURL
nur zurückgibt, indem er ihn mit der Anforderung response
anruft, aber auf diese Weise konnte ich nie den Dateipfad kennen, ohne vorher eine Anforderung auszuführen.Überprüfen Sie, ob eine Datei bereits vorhanden ist, bevor Sie sie mit Alamofire herunterladen + supportedDownloadDestination
Dies ist der Code noch eine Datei mit Alamofire zum Download Ich benutze:
Alamofire.download(.GET, downloadLink, destination: destination).progress {
bytesRead, totalBytesRead, totalBytesExpectedToRead in
}.response {
request, response, data, error in
guard error == nil else {
return
}
// This will give me the file path but we're already in a Request!
print("\(destination(NSURL(string: "")!, response!))")
}
Was bin ich?
Haben Sie eine Lösung gefunden? – osrl
@osrl Leider genug Alamofire gibt Ihnen nicht die Möglichkeit, dies leicht zu tun, wie Sie supportedDownloadDestination verwenden würden, habe ich Fixes mit einem benutzerdefinierten Pfad für das Download-Verzeichnis und entfernen suggeredDownloadDestination – Aluminum
Ich versuchte '.head' Methode, um die Zieldatei zu finden Pfad, und überprüfen Sie, ob es existiert, bevor Sie die Datei herunterladen. Aber Alamofire erstellt die Datei auch dann, wenn die Download-Request-Methode '.head' ist. Das hat also auch nicht funktioniert. – osrl