2017-03-26 10 views
0

Ich entwickle eine iOS-Anwendung und ich brauche Ihre Hilfe, um die Größe der Dateien auf einem Remote-Webserver gehostet zu bekommen.Dateigröße von einer URL in Swift 3

Wenn meine App zum ersten Mal gestartet wird, lädt sie verschiedene Dateien im DocumentDirectory-Ordner des Benutzers herunter, um URLWSession zu verwenden, und es funktioniert einwandfrei.

Mein Problem ist, dass bei jedem Start meine App wieder alle Dateien herunterlädt. Ich möchte die Größe der Remote-Datei mit der auf dem Gerät des Benutzers vergleichen, um zu wissen, ob ich sie herunterladen oder überspringen muss.

Ich habe das für Android und es war sehr einfach, unser Web-Server kompatibel ist Dateigröße zu erhalten, aber für iOS Ich bin nicht in der Lage, eine Lösung im Internet finden :(

Ich verwende swift3.

+0

http : //stackoverflow.com/a/28168551/4420355 – kuzdu

+1

Beantworte deine Frage nicht wirklich, aber schaue ein t Die Dateigröße, um zu prüfen, ob die Datei aktuell ist, ist nicht wirklich bewährte Methode. Sie können versuchen, die Dateien zu hashen und die Hash-Codes zu vergleichen, um festzustellen, ob Sie sie erneut herunterladen müssen oder nicht. – halileohalilei

Antwort

-4

lassen imagedata = NSData (contentsOfURL: URL !, Optionen: NSDataReadingOptions())

NSLog (@ "Datenlänge:% u MB", (imageData.length/1024/1024));

+0

Das funktioniert nur für Bilder nicht? – Avenger

+0

Es funktioniert jeder Dateityp. –

+0

Das ist eine wirklich schlechte Lösung, weil es die gesamte Datei herunterlädt und das synchron macht. In den verknüpften Antworten gibt es eine Lösung, um nur die Header vom Server herunterzuladen, um die Dateiattribute zu erhalten. – Moritz