将base64从Objective-C应用程序发送到PHP服务器


Sending base64 from Objective-C app to PHP server

我当前的Objective-C代码

UIImage *image = self.selectedImage;
NSData *data = [UIImagePNGRepresentation(self.selectedImage) 
    base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength];
NSString *byteArray  = [NSString stringWithUTF8String:[data bytes]];
NSMutableURLRequest *request =
[[NSMutableURLRequest alloc] initWithURL:
[NSURL URLWithString:@"http://API URL IS HERE "]];
[request setHTTPMethod:@"POST"];
NSString *postString = [NSString stringWithFormat:@"id_user=%ld&id_from_user=%@&content=%@&type=photo",(long)_userIdTo,[[NSUserDefaults standardUserDefaults] valueForKey:@"id_user"],byteArray];
NSLog(@"strin %@", postString);
[request setHTTPBody:[postString
                      dataUsingEncoding:NSUTF8StringEncoding]];

以 base64 形式将图像的字节码发送到服务器。

如果我尝试将字节码粘贴到浏览器中的Chrome插件API(Google rest advanced(中,我会得到一张图像。但是,如果我尝试通过应用程序发送它,我有一个黑色方块,或者什么都没有,而不是图像。

有什么想法吗?

这可能是添加换行符的NSDataBase64Encoding64CharacterLineLength选项,我不确定 PHP 是否支持。尝试传递0,看看 PHP 是否可以解码字符串。