iOS 視頻 上傳

1.打開視頻窗口:初始化UIImagePickerController,設置代理、可編輯、設置資源類型mediaTypes -> kUTTypeMovie sourceType->PhotoLibraryvideoQuality->QualityTypeMedium


2.處理選擇的視頻:a.先判斷視頻類型,然後獲取視頻緩存地址:[info objectForKey:UIImagePickerControllerMediaURL],獲取數據


3.通過MPMoviePlayerController”這個獲取視頻對應時間的楨數“thumbnailImageAtTime:1.0 timeOption:MPMovieTimeOptionNearestKeyFrame”


4.將視頻作爲文件上傳。

 AFHTTPClient *uploadData_httpClient = [[AFHTTPClient alloc]initWithBaseURL:[NSURL URLWithString:upload_url]];

    NSMutableDictionary *params = [[NSMutableDictionary alloc]init];

    [params setObject:_value1 forKey:@“key1”];

    [params setObject:_value2 forKey:@“key2”];

    [params setObject:@"multipart/form-data" forKey:@“key3”];

    NSMutableURLRequest *videoRequest = [uploadData_httpClient multipartFormRequestWithMethod:@"POST" path:upload_url parameters:params constructingBodyWithBlock:^(id formData){

        [formData appendPartWithFileURL:videoUrl name:@"video_file" error:nil];

    }];

    

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:videoRequest];

    [operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {

        NSLog(@"%0.f/100",100*((float)totalBytesWritten/(float)totalBytesExpectedToWrite));

    }];

    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

        NSDictionary *resultData = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];

       

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    }];

    [operation start];


5.清空本地分緩存視頻: NSFileManager *fileManager = [[NSFileManager alloc] init];

    [fileManager removeItemAtURL:videoUrl error:nil];


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章