可以利用AFNetworking,方法都是一样的,
image和video都是data,只要下边方法里最后的参数数据类型改下就可以,用到的AFNetworikng方法都是一样的
image/jpeg->video/mp4. 或者image/png ->video/flv
另外,方法中用到的参数name,以及fileName是和你们的开发后台商量好的,我这里是:"name.png"和"file",
换到你们的方法里,可能不会成功,需要问下后台,他要接受的参数名都是叫什么。
如果是视频的话,把这个方法里用到的img参数的类型由UIImage->NSData,nadata就是你视频转换而成的二进制数据流,好了,就这样了
-(void)postH5StarImg:(UIImage *)Img apiStr:(NSString*)apiStr
IDCardTypeMessage:(NSDictionary *)dictionary
successPost:(void (^) (id successPost))myPostBlock
errorResponse:(void (^) (NSError *myError))myErrorBlock
{
AFHTTPSessionManager *session = manager;
session.requestSerializer.timeoutInterval = timeoutS;
//request.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/plain"];
session.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"text/plain",@"text/html", nil];
NSData *imageDate;
if (UIImagePNGRepresentation(Img)) {
imageDate=UIImageJPEGRepresentation(Img, 1);
}else
{
imageDate=UIImagePNGRepresentation(Img);
}
//https://xapp.jjhgame.com/iumobile/apis/update_avatar.php
NSString * url;
switch (currentType) {
case YBNetworkTest:
//测试地址service/update_avatar
break;
case YBNetworkT1Service:
//准生产地址
break;
case YBNetworkApp1Service:
//线上地址
break;
case YBNetworkDistribution:
//线上地址
break;
}
url = [@"http://192.168.2.128/" stringByAppendingString:apiStr];
NSString *name = @"0";
if ([dictionary[@"type"] isEqualToString:@"1"]) {
name = @"1";
}else if([dictionary[@"type"] isEqualToString:@"2"]){
if ([dictionary[@"num"] isEqualToString:@"1"]) {
name = @"21";
}else if ([dictionary[@"num"] isEqualToString:@"2"]) {
name = @"22";
}else if ([dictionary[@"num"] isEqualToString:@"3"]) {
name = @"23";
}else if ([dictionary[@"num"] isEqualToString:@"4"]) {
name = @"24";
}else if ([dictionary[@"num"] isEqualToString:@"5"]) {
name = @"25";
}
}
[session POST:url parameters:dictionary constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
// [session POST:url parameters:dictionary constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFileData:imageDate name:@"file" fileName:@"name.png" mimeType:@"image/jpeg"];
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
myPostBlock(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
myErrorBlock(error);
}];
}