我当前的 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)中,我会得到一个图像。 但是,如果我尝试通过应用程序发送它,我会看到一个黑色方 block ,或者什么都没有,而是图像。
有什么想法吗?
最佳答案
可能是 NSDataBase64Encoding64CharacterLineLength
选项添加了换行符,我不确定 PHP 是否支持。尝试传递 0
并查看 PHP 是否可以解码字符串。
关于php - 从 Objective-C 应用程序发送 base64 到 PHP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27515813/