How to Upload video to server from iPhone?

前端 未结 2 456
醉酒成梦
醉酒成梦 2020-12-08 12:41
-(IBAction)uploadToServer :(id)sender
{
    NSString *str1=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@\"intro.mp4\"];
    NSLog(@\"str1=%@         


        
2条回答
  •  天命终不由人
    2020-12-08 13:16

    Store selected video URL in some variable :

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
        if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]) {
            selectedVideoURL = info[UIImagePickerControllerMediaURL];
        }
    }
    

    For latest version of AFNetworking, below code is used.

    NSMutableDictionary *dictParams1 = [[NSMutableDictionary alloc]init];
    [dictParams1 setObject:userID forKey:"userID"];
    [dictParams1 setObject:otherparam forKey: "otherparam_Key"];
    
    NSLog(@"REQUEST URL : ------------------ %@", API_URL);
    NSLog(@"PARAMETERS : ------------------ %@", dictParams1);
    
    NSString *strFileName = [NSString stringWithFormat:@"%ld.mov", [[NSDate date] timeIntervalSince1970]];
    NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:APIAddFeedVideo parameters:dictParams1 constructingBodyWithBlock:^(id formData) {
    
        [formData appendPartWithFileURL:selectedVideoURL name:@"videofile" fileName:strFileName mimeType:@"video/mov" error:nil]; // video/quicktime //video/mp4
    } 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(@"VIDEO UPLOAD RESPONSE : %@ %@", response, responseObject);
    
        }
    }];
    
    [uploadTask resume];
    

提交回复
热议问题