iOS 上傳視訊 ,上傳照片
可以利用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);
}];
}