2017-08-16 6 views
0

Ich implementiere eine iOS-App, die Bilder auf einen Webserver hochlädt. Die App bietet eine Erweiterung, die Upload von Anwendungen wie Twitter, Nachrichten ermöglicht, usw.Hochladen von Gif-Bildern in Swift für iOS

Wenn das Bild durch den Benutzer ausgewählt wird, kann es durch die itemProvider entweder als UIImage, Data oder URL präsentiert. Um damit umzugehen, erstelle ich ein UIImage Objekt von dem, was die bietet und sende dieses neue UIImage Objekt an die Upload-Funktion.

Diese letztere (die Upload-Funktion) verwendet Alamofire das Bild zu laden und erfordert daher, ein Data Objekt zu haben, die ich unter Verwendung UIImageJPEGRepresentation oder UIImagePNGRepresentation des UIImage Objekts zu erhalten. Das funktioniert für die meisten Bilder, aber im Fall von gif nicht. Das GIF verliert seine Animationseigenschaft und nur ein statisches Bild wird hochgeladen.

Also meine Frage ist, wie man ein Objekt Data aus dem UIImage-Objekt, das die GIF-Eigenschaften (Animation) der ursprünglichen Datei erhält?

Vielen Dank für die Hilfe, die Sie zur Verfügung stellen können.

Antwort

0

Hier ist, wie es geht, ziemlich einfach.

myData = Data(contentsOf: url) 

Aber XCode erfordert Fehler abzufangen, die gibt:

do{ 
    try myData = Data(contentsOf: url) 
}catch let error{ 
    print ("Error \(error)") 
} 
Verwandte Themen