iOS上传视频文件
来源:互联网 发布:手机浏览器知乎 编辑:程序博客网 时间:2024/05/17 20:22
//假设自己的视频文件URL为 变量myVideoURL
//1.获取视频文件名字
NSString *videoName = [myVideoURL lastPathComponent];
//2.将视频URL转位Data
NSData *dataFromURL = [[NSData alloc] initWithContentsOfURL:myVideoURL];
//3.将上传地址转为NSString
NSString *url [NSStringstringWithFormat:@"http://api.myVideo"];
//4.定义字典,将需要给服务器传参,写进字典
NSMutableDictionary *parameters = [[NSMutableDictionary alloc]init];
//5.下面是AFNetWorking的接口函数
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"text/json",@"application/json",@"text/javascript", nil];
[manager POST:url parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
{
//以下三个参数依次为:视频,视频名字,视频格式
[formData appendPartWithFileData:dataFromURL name:@"file" fileName:videoName mimeType:@"video/quicktime"];
} success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"成功,结果是:%@",responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"失败,原因是:%@",error);
} ];
**************************************************************************************
//如果需要给视频上传增加进度条,请使用下面的方法。
//加载进度条
UIProgressView *progressView = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleDefault];
progressView.frame = CGRectMake(0, 52, screen_width, 10);
//设置进度条背景颜色
progressView.trackTintColor = [UIColor whiteColor];
//设置进度条进度颜色
progressView.progressTintColor = [UIColor redColor];
//设置进度默认值
progressView.progress = 0.0;
[self.view addSubview:progressView];
AFHTTPRequestSerializer *serializer = [AFHTTPRequestSerializer serializer];
NSMutableURLRequest *request =
[serializer multipartFormRequestWithMethod:@"POST" URLString:url
parameters:parameters
constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:dataFromURL
name:@"file"
fileName:videoName
mimeType:@"video/quicktime"];
}];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
AFHTTPRequestOperation *operation =
[manager HTTPRequestOperationWithRequest:request
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Failure %@", error.description);
}];
[operation setUploadProgressBlock:^(NSUInteger __unused bytesWritten,
long long totalBytesWritten,
long long totalBytesExpectedToWrite) {
float t1 = totalBytesWritten;
float t2 = totalBytesExpectedToWrite;
float progress = t1/t2;
[progressView setProgress:progress animated:YES];
NSLog(@"比例是:%lf",progress);
}];
[operation start];
- iOS上传视频文件
- 视频文件上传
- 视频文件上传
- iOS上传视频道优酷视频文件MD5的获取等
- iOS上传视频道优酷视频文件MD5的获取等
- 微信上传视频文件
- iOS 播放flash视频文件
- iOS 播放flash视频文件
- iOS 导入相册视频文件
- [ios]将视频文件上传到 ftp 服务器,从我的应用程序
- post上传视频文件到服务端
- 视频文件的上传和编辑
- ThinkPHP5上传视频文件问题总结
- ios录制并写视频文件
- ios录制并写视频文件
- Unity ios下播放视频文件
- android 选择视频文件 上传到后台服务器
- 七牛上传视频文件 后截图功能
- windows消息机制
- ubuntu系统安装及网络连接
- Jquery控制文本框只能输入数字或字母
- iOS开发swift自定义AlertController弹出带有输入框后AertView
- 转四种方案解决ScrollView嵌套ListView问题
- iOS上传视频文件
- Fragment笔记整理
- 无边框,窗口移动代码
- HDU 2807 The Shortest Path 把矩阵抽象成点+Floyd
- 匿名内部类是否可以继承其它类?是否可以实现接口? 代码讲解
- SurfaceView 基础用法
- C++ 局部类
- Android Studio 使用---(一)Gradle使用手册1
- 关于android instrumentation的理解、使用