1. 程式人生 > >iOS 上傳視訊 ,上傳照片

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);
    }];

}