网站开发与管理实验五,python培训机构,网站公司建设网站,新乡网络营销外包公司整体思路已经清楚#xff0c;拿到视频资源#xff0c;先转为mp4#xff0c;写进沙盒#xff0c;然后上传#xff0c;上传成功后删除沙盒中的文件。 本地拍摄的视频#xff0c;上传到服务器#xff1a; //视频转换为MP4//转码操作..._hud.mode MBProgressHUDModeIndeter…整体思路已经清楚拿到视频资源先转为mp4写进沙盒然后上传上传成功后删除沙盒中的文件。 本地拍摄的视频上传到服务器 //视频转换为MP4//转码操作..._hud.mode MBProgressHUDModeIndeterminate;_hud.labelText 转码中...;AVURLAsset *avAsset [AVURLAsset URLAssetWithURL:_filePathURL options:nil];NSDateFormatter* formater [[NSDateFormatter alloc] init];[formater setDateFormat:yyyyMMddHHmmss];_fileName [NSString stringWithFormat:output-%.mp4,[formater stringFromDate:[NSDate date]]];_outfilePath [NSHomeDirectory() stringByAppendingFormat:/Documents/%, _fileName];NSArray *compatiblePresets [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];if ([compatiblePresets containsObject:AVAssetExportPresetMediumQuality]){MyLog(outPath %,_outfilePath);AVAssetExportSession *exportSession [[AVAssetExportSession alloc]initWithAsset:avAsset presetName:AVAssetExportPresetMediumQuality];exportSession.outputURL [NSURL fileURLWithPath:_outfilePath];exportSession.outputFileType AVFileTypeMPEG4;[exportSession exportAsynchronouslyWithCompletionHandler:^{if ([exportSession status] AVAssetExportSessionStatusCompleted) {MyLog(AVAssetExportSessionStatusCompleted---转换成功);_filePath _outfilePath;_filePathURL [NSURL URLWithString:[NSString stringWithFormat:file://%,_outfilePath]];MyLog(转换完成_filePath %\n_filePathURL %,_filePath,_filePathURL);//获取大小和长度[self SetViewText];[self uploadNetWorkWithParam:{contenttype:application/octet-stream,discription:description}];}else{MyLog(转换失败,值为:%li,可能的原因:%,(long)[exportSession status],[[exportSession error] localizedDescription]);[_hud hide:YES];[MyHelper showAlertWith:nil txt:转换失败,请重试];}}];}#pragma mark - 开始上传-(void)uploadNetWorkWithParam:(NSDictionary*)dict
{MyLog(开始上传_filePath %\n_filePathURL %,_filePath,_filePathURL);
AFHTTPRequestSerializer *ser[[AFHTTPRequestSerializer alloc]init];
NSMutableURLRequest *request
[ser multipartFormRequestWithMethod:POSTURLString:[NSString stringWithFormat:%%,kBaseUrl,kVideoUploadUrl]parameters:{path:show,key:_key,discription:dict[discription],isimage:(_isImage)}constructingBodyWithBlock:^(idAFMultipartFormData formData) {[formData appendPartWithFileURL:_filePathURL name:file fileName:_fileName mimeType:dict[contenttype] error:nil];if (!_isImage) {[formData appendPartWithFileURL:_path2Url name:tmp fileName:tmp.PNG mimeType:image/png error:nil];}} error:nil];
//image/png application/octet-stream mimeType
AFURLSessionManager *manager [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSProgress *progress nil;
NSURLSessionUploadTask *uploadTask [manager uploadTaskWithStreamedRequest:request progress:progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {if (error) {MyLog(request %, request );MyLog(response %, response );MyLog(Error: %, error );[_hud hide:YES];CXAlertView *alert[[CXAlertView alloc]initWithTitle:NSLocalizedString(Warning, nil)message:NSLocalizedString(Upload Failed,nil)cancelButtonTitle:NSLocalizedString(Iknow, nil)];alert.showBlurBackground NO;[alert show];} else {MyLog(% %, response, responseObject);NSDictionary *backDict(NSDictionary *)responseObject;if ([backDict[success] boolValue] ! NO) {_hud.labelText NSLocalizedString(Updating, nil);[self UpdateResxDateWithDict:backDict discription:dict[discription]];[_hud hide:YES];}else{[_hud hide:YES];[MyHelper showAlertWith:nil txt:backDict[msg]];}}[progress removeObserver:selfforKeyPath:fractionCompletedcontext:NULL];
}];
[progress addObserver:selfforKeyPath:fractionCompletedoptions:NSKeyValueObservingOptionNewcontext:NULL];
[progress setUserInfoObject:someThing forKey:Y.X.];
[uploadTask resume];} 删除沙盒中的视频 #pragma mark - 清除documents中的视频文件
-(void)ClearMovieFromDoucments{
NSFileManager *fileManager [NSFileManager defaultManager];
NSArray *paths NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory [paths objectAtIndex:0];
NSArray *contents [fileManager contentsOfDirectoryAtPath:documentsDirectory error:NULL];
NSEnumerator *e [contents objectEnumerator];
NSString *filename;
while ((filename [e nextObject])) {MyLog(%,filename);if ([filename isEqualToString:tmp.PNG]) {MyLog(删除%,filename);[fileManager removeItemAtPath:[documentsDirectory stringByAppendingPathComponent:filename] error:NULL];continue;}if ([[[filename pathExtension] lowercaseString] isEqualToString:mp4]||[[[filename pathExtension] lowercaseString] isEqualToString:mov]||[[[filename pathExtension] lowercaseString] isEqualToString:png]) {MyLog(删除%,filename);[fileManager removeItemAtPath:[documentsDirectory stringByAppendingPathComponent:filename] error:NULL];}
}
} 转载于:https://www.cnblogs.com/HJQ2016/p/5962813.html