2016-04-03 6 views
1

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ähnt
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!) 
       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

Antwort

0

gerade erhalten die Daten des Bildes, das sie bereits gespeichert haben, und vergleichen Sie es mit den Daten des Bildes, das ist t zu speichern, und wenn es das gleiche ist, erlauben Sie ihnen nicht, fortzufahren oder was auch immer Ihr Anwendungsfall ist.

+0

versuchte das, hat nicht funktioniert –

+0

Ich reparierte das Problem für jetzt, ich trennte die Aufgabe in verschiedene Tasten –

Verwandte Themen