2017-05-23 10 views
0

HTTPポストメソッドを使用してサーバーにビデオを投稿するためのコードを整えてください。iOSでhttp postメソッドを使用してビデオをサーバーに投稿する

私はここで

- (IBAction)choose:(id)sender { 

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 

    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 

    picker.delegate = self; 

    picker.allowsEditing = YES; 

    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

    picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil]; 

    [self presentViewController:picker animated:YES completion:NULL]; 

} 



     - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 


NSString *type = [info objectForKey:UIImagePickerControllerMediaType]; 


    if ([type isEqualToString:(NSString *)kUTTypeVideo] || 

    [type isEqualToString:(NSString *)kUTTypeMovie]) 

    { 


    self.videoURL = [info objectForKey:UIImagePickerControllerMediaURL]; 

} 

[picker dismissViewControllerAnimated:YES completion:NULL]; 
} 

- (IBAction)upload:(id)sender { 

    //NSString * str = @"content"; 

    // [str stringByAppendingString:self.url]; 

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"http://mobile.supportservice.co.in/bbgapp.asmx/Stream" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 

    //NSString * str = [[NSBundle mainBundle] pathForResource:@"amyVideo" ofType:@"png"]; 

    NSLog(@"------------------>%@",self.videoURL); 


    [formData appendPartWithFileURL:[NSURL fileURLWithPath:self.videoURL] name:@"file" fileName:@"myVideo.m4v" mimeType:@"mp4/m4v" error:nil]; 

} error:nil]; 

AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 
NSURLSessionUploadTask *uploadTask; 

uploadTask = [manager 

       uploadTaskWithStreamedRequest:request 

       progress:^(NSProgress * _Nonnull uploadProgress) { 

        // This is not called back on the main queue. 

        // You are responsible for dispatching to the main queue for UI updates 
       dispatch_async(dispatch_get_main_queue(), ^{ 

         //Update the progress view 

         [self.progressView setProgress:uploadProgress.fractionCompleted]; 

        }); 

       } 

       completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) { 

        if (error) { 

         NSLog(@"Error: %@", error); 

        } else { 


    NSLog(@"----------------------> %@ %@", response, responseObject); 

        } 

       }]; 

[uploadTask resume]; 
} 
    @end 

は、/ダウンロード動画や画像の使用をアップロードするために私output

答えて

0

最良の方法である間違っているだろうかを理解していないサーバがヒットしているが、応答がnull表示されますAFNetworkingフレームワーク。コードの下にアップロードビデオを使用します。

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" 
URLString:@"http://exampleurl.com/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
[formData appendPartWithFileData:videoData name:@"file" fileName:@"filename.mov" mimeType:@"video/quicktime"]; 
} error:nil]; 

AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 

NSURLSessionUploadTask *uploadTask; 
uploadTask = [manager 
       uploadTaskWithStreamedRequest:request 
       progress:^(NSProgress * _Nonnull uploadProgress) { 
        // This is not called back on the main queue. 
        // You are responsible for dispatching to the main queue for UI updates 
        dispatch_async(dispatch_get_main_queue(), ^{ 
         //Update the progress view 
         [progressView setProgress:uploadProgress.fractionCompleted]; 
        }); 
       } 
       completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) { 
        if (error) { 
         NSLog(@"Error: %@", error); 
        } else { 
         NSLog(@"%@ %@", response, responseObject); 
        } 
       }]; 

[uploadTask resume]; 
+0

小さな変更で私のために働いた、ありがとう! –

関連する問題