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

问题描述 投票:0回答:1

我当前的 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)中,我会得到一张图像。 但如果我尝试通过应用程序发送它,我会看到一个黑色方块,或者什么也没有,而是图像。

有什么想法吗?

php ios objective-c base64
1个回答
1
投票

这可能是

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

© www.soinside.com 2019 - 2024. All rights reserved.