2016-07-26 4 views
0

ich hochgeladen ein Bild von iOS cakephp durch Codierung zur Basis 64 und dies ist mein Code auf iOS:PHP speichern beschädigtes Bild

UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage]; 
    NSData *imageData = UIImageJPEGRepresentation(image, 1.0); 
    NSString *encodedString = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; 
    modelMFront.text = encodedString; 

dann bekomme ich das Bild auf Kuchen und versuchen zu gespeichert:

$filename_path = 'test'.".jpg"; 
$decoded=base64_decode($this->request->data['model_mfront']); 
file_put_contents(WWW_ROOT.$filename_path,$decoded); 

das Problem ist, dass das Bild beschädigt http://imgur.com/a/LESJ3

eine Ahnung, wie dieses Problem beheben?!

Antwort

0

Ich habe es behoben. das Problem war mit dem Raum, wenn ich das Bild kodieren, so musste ich den Raum durch + in PHP

$filename_path = 'test'.".jpg"; 
$img = $this->request->data['model_mfront']; 
$img = str_replace(' ','+',$img); 
$decoded=base64_decode($img); 
file_put_contents(WWW_ROOT.$filename_path,$decoded); 
ersetzen