AFNetworking multipart upload

45 篇文章 0 订阅
43 篇文章 0 订阅

+ (NSDictionary*)parametersOfUser:(User*)user{
if (user) {
NSMutableDictionary *returnDict = [NSMutableDictionary dictionaryWithCapacity:0];
if (user.userId && [user.userId length]) {
[returnDict setObject:[user.userId urlEncoded] forKey:@"userId"];
}

if (user.userName && [user.userName length]) {
[returnDict setObject:[user.userName urlEncoded] forKey:@"userName"];
}
if (user.phone && [user.phone length]) {
[returnDict setObject:[user.phone urlEncoded] forKey:@"phone"];
}
if (user.email && [user.email length]) {
[returnDict setObject:[user.email urlEncoded] forKey:@"email"];
}

[returnDict setObject:[user.deviceId urlEncoded] forKey:@"deviceId"];
[returnDict setObject:[user.deviceType urlEncoded] forKey:@"deviceType"];
[returnDict setObject:[user.osName urlEncoded] forKey:@"osName"];
[returnDict setObject:[user.osVersion urlEncoded] forKey:@"osVersion"];

if (user.pinCodeHash && [user.pinCodeHash length]) {
[returnDict setObject:[user.pinCodeHash urlEncoded] forKey:@"pinCodeHash"];
}
if (user.publicKey && [user.publicKey length]) {
[returnDict setObject:[user.publicKey urlEncoded] forKey:@"publicKey"];
}

return returnDict;
}return nil;
}



AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:baseURL];
NSMutableURLRequest *afRequest = [client multipartFormRequestWithMethod:@"POST"
path:path
parameters:[User parametersOfUser:user]
constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
/**
*@discussion If we use multipart, we should only have two parts, one for picture (probably type is image/png) and one for other parameters (type is x-www-form-urlencoded)
*/
//header
/*
NSString *bodyString = [User postBodyStringWithUser:user withPostType:PostTypeMultiPart];

NSMutableDictionary *headers = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"application/x-www-form-urlencoded; charset=UTF-8",@"Content-Type",
[NSString stringWithFormat:@"form-data; name=\"%@\"", @"usr_info"],@"Content-Disposition"
, nil];
[formData appendPartWithHeaders:headers body:[bodyString dataUsingEncoding:NSUTF8StringEncoding]];
*/
//picture part
if (user.picture2) {
NSData *data = UIImagePNGRepresentation(user.picture2);
//NSLog(@"=====data length is %i",[data length]);
[formData appendPartWithFileData:data
name:@"picture2"
fileName:nil
mimeType:@"image/*"];
}
}];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值