这里我试图将图像发送到服务器端,但它给了我错误
if(picking)
{
NSLog(@"entering in to image side");
[body appendData:[[NSString stringWithFormat:@"--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"content-Disposition:form-data;name=\"pic\"\r\n\r\n filename=imageName.jpg\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:picking]];
[body appendData:[[NSString stringWithFormat:@"--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
}
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[body length]];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc]init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
dispatch_async(dispatch_get_main_queue(),^{
if([data length]>0 && connectionError==nil)
{
NSError *error;
NSMutableDictionary *jsonResponse=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
if(error){
[Utitlity alertFunction:@"Warning" message:[error localizedDescription]];
}
else
{
[self requestComplete:jsonResponse];
}
}
这个图像出现在注册屏幕上,如果我没有在注册屏幕中选择图片意味着,客户注册获得成功。而选择图像则会给出cocoa 3048错误。
答案 0 :(得分:0)
问题在您的以下声明中。每个Apple文档NSJSONReadingMutableContainers
选项应该用于数组和字典。请尝试使用NSJSONReadingAllowFragments
。
NSMutableDictionary *jsonResponse=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
常量NSJSONReadingMutableContainers指定数组和 字典被创建为可变对象。
适用于iOS 5.0及更高版本。 NSJSONReadingMutableLeaves指定 JSON对象图中的叶字符串被创建为实例 的NSMutableString。
适用于iOS 5.0及更高版本。 NSJSONReadingAllowFragments指定 解析器应该允许顶级对象不是 NSArray或NSDictionary的实例。
适用于iOS 5.0及更高版本。