How to serialize UIImage to JSON?

前端 未结 3 2158
北荒
北荒 2021-02-06 07:45

I am using

imageData = UIImagePNGRepresentation(imgvw.image);

and while posting

[dic setObject:imagedata forKey:@\"image\"]; 
         


        
3条回答
  •  执笔经年
    2021-02-06 08:12

    You need to convert your UIImage to NSData and then convert that NSData to a NSString which will be base64 string representation of your data.

    Once you get the NSString* from NSData*, you can add it to your dictionary at key @"image"

    To convert NSData to a base64 type NSString* refer to the following link: How do I do base64 encoding on iphone-sdk?

    In a more pseudo-way the process will look like this

    UIImage *my_image; //your image handle
    NSData *data_of_my_image = UIImagePNGRepresentation(my_image);
    NSString *base64StringOf_my_image = [data_of_my_image convertToBase64String];
    
    //now you can add it to your dictionary
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    [dict setObject:base64StringOf_my_image forKey:@"image"];
    
    if ([NSJSONSerialization isValidJSONObject:dict]) //perform a check
    {
            NSLog(@"valid object for JSON");
            NSError *error = nil;
            NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
    
    
            if (error!=nil) {
                NSLog(@"Error creating JSON Data = %@",error);
            }
            else{
                NSLog(@"JSON Data created successfully.");
            }
    }
    else{
            NSLog(@"not a valid object for JSON");
        }
    

提交回复
热议问题