iOS post请求图片Base64编码上传

今天遇到了图片Base64编码上传问题

在对Base64编码后的图片,进行JSON之后还要进行一次编码


代码如下


NSData *data = UIImageJPEGRepresentation(image, 0.5);

    NSString *image64 = [database64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

    NSLog(@"image64:%@",image64);


    NSMutableDictionary *busiParam = [NSMutableDictionarydictionary];


    [busiParam setObject:image64 forKey:@"images_content"];


    NSString *busiJson = nil;

    

    if ([NSJSONSerializationisValidJSONObject:busiParam]) {

        NSError *error;

        NSData *userData = [NSJSONSerializationdataWithJSONObject:busiParam options:kNilOptions error:&error];

        

        busiJson = [[NSStringalloc] initWithData:userDataencoding:NSUTF8StringEncoding];

        

    }



//编码过程


static NSString *const kAFCharactersGeneralDelimitersToEncode =@":#[]@"; // does not include "?" or "/" due to RFC 3986 - Section 3.4

    static NSString *const kAFCharactersSubDelimitersToEncode = @"!$&'()*+,;=";

    NSMutableCharacterSet * allowedCharacterSet = [[NSCharacterSetURLQueryAllowedCharacterSet] mutableCopy];

    [allowedCharacterSet removeCharactersInString:[kAFCharactersGeneralDelimitersToEncodestringByAppendingString:kAFCharactersSubDelimitersToEncode]];

    

    busiJson =  [busiJson stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacterSet];


    NSString *postStr = [NSStringstringWithFormat:@"busiParam=%@",busiJson];


    NSLog(@"postStr:%@",postStr);

    NSData *postData = [postStrdataUsingEncoding:NSUTF8StringEncoding];




如有问题欢迎来跟我交流 -- LC



  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值