我正在尝试通过将图像转换为 base64 格式来上传图像。我遇到了以下错误。
错误域 = NSCocoaErrorDomain 代码 = 3840“字符 0 周围的值无效。” UserInfo={NSDebugDescription=字符 0 周围的值无效。}
请参考我的代码
NSData *imageData = UIImagePNGRepresentation(image);
NSString *imageDataString = [imageData base64EncodedString];
这里是Post请求方法
- (id) postRequest:(NSURL *)postURL postString:(NSString *)postString
{
NSError * error=nil;
NSURLResponse * urlResponse;
NSData *myRequestData = [ NSData dataWithBytes: [ postString UTF8String ] length: [ postString length ]];
NSMutableURLRequest * request =[[NSMutableURLRequest alloc]initWithURL:postURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10];
[request setHTTPBody: myRequestData];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
NSData * data =[NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
if (!data)
{
return nil;
}
id jsonnResponse =[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
return jsonnResponse;
}
错误 3840 ...字符 0 周围的值无效。
只是意味着 (JSON) 字符串为空,您从服务器上没有得到任何信息。
To get NSData
对于字符串有一个更方便的 API:
NSData *myRequestData = [postString dataUsingEncoding:NSUTF8StringEncoding];
实际上,base64 格式的字符串不是标头中指定的 JSON。这可能会导致问题。
PS:不要使用同步(已弃用)API 通过网络加载数据
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)