Ich habe eine Benutzerprofil Bearbeitungsseite in der ViewController erstellt. Wenn Benutzer nur Textfelder bearbeiten und die Schaltfläche "Speichern" drücken, obwohl das Bild gleich ist, wird es immer noch hochgeladen. Ich möchte überprüfen, ob das Bild das gleiche ist, überspringen Sie den Upload des aktuellen Bildes. Auch parse verwendet den gleichen Bilddateinamen, so dass die Überprüfung nach Namen nicht funktioniert, ich habe keine Ahnung, was sonst noch zu verwenden ist. Irgendwelche Ideen? Hier ist mein Code:Vermeidung von doppelten Bild-Upload-Datei zu Parse.com in Swift
let imageUploadData = UIImageJPEGRepresentation(imageUpload.image!, 1)
if (imageUploadData != nil) {
//Here what I tried:
if (currentImage.image != imageUploadData) {
print("Image will be uploaded")
let imageFileObject = PFFile(data: imageUploadData!)
myUser.setObject(imageFileObject!, forKey: "license_image")
}else {
print("Image is the same, skipping upload")
}
}
myUser.saveInBackgroundWithBlock {(success: Bool, error:NSError?) -> Void in
self.clearAllNotice() //Clear activity indicator
if (error != nil) {
print("...")
}
if (success) {
print("Saving")
}
Was haben versucht, ich, unter
in den Kommentaren erwähntlet userImageFile = PFUser.currentUser()?.objectForKey("license_image") as! PFFile
userImageFile.getDataInBackgroundWithBlock {(imageData: NSData?, error: NSError?) -> Void in
if (error == nil) {
let image = UIImage(data:imageData!)
if image == self.imageUpload.image {
print("image is the same")
}
else {
print("image not the same")
}
}
}
ich dies auch versucht:
let userImageFile = PFUser.currentUser()?.objectForKey("license_image") as! PFFile
userImageFile.getDataInBackgroundWithBlock {(imageData: NSData?, error: NSError?) -> Void in
if (error == nil) {
let image = UIImage(data:imageData!)
let imageFileObject = PFFile(data: imageUploadData!)
if ((image?.isEqual(imageFileObject)) != nil){
print("image is the same")
}
else {
print("image not the same")
}
}
}
Kein Glück
versuchte das, hat nicht funktioniert –
Ich reparierte das Problem für jetzt, ich trennte die Aufgabe in verschiedene Tasten –