1.打開視頻窗口:初始化UIImagePickerController,設置代理、可編輯、設置資源類型mediaTypes -> kUTTypeMovie ,sourceType->PhotoLibrary,videoQuality->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];