IOS 视频上传服务器

//上传视频

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.requestSerializer.timeoutInterval = 20;
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain", @"application/json", @"text/html", @"text/json", nil];
    //上传服务器接口
    [manager.requestSerializer setValue:[USER_DEFAULTS objectForKey:@"token"] forHTTPHeaderField:@"dd"];

NSData* data=[NSData dataWithContentsOfURL:self.VideoURL];
    
    [self showRoundProgressWithTitle:@"正在上传"];
    
    [manager POST:[NSString stringWithFormat:@"%@a_doutu/push_doutu/",URLPATH] parameters:sendDict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
        [formData appendPartWithFileData:data name:@"video" fileName:@"video.mp4"mimeType:@"video/mp4"];
    } progress:^(NSProgress * _Nonnull uploadProgress) {
        
        NSLog(@"upload:%@",uploadProgress.fileTotalCount);
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        
//        [self hideBubble];
        
        if ([[responseObject objectForKey:@"code"] intValue] == 203) {
            [self showRightWithTitle:@"发布成功" autoCloseTime:1];
            [self performSelector:@selector(afterLoad) withObject:nil afterDelay:1.5];
            [self.navigationController popViewControllerAnimated:YES];
        }else{
            [self showErrorWithTitle:[responseObject objectForKey:@"message"] autoCloseTime:1];
            [self performSelector:@selector(afterLoad) withObject:nil afterDelay:1.5];
        }
        
//            NSString *resMsg = responseObject[@"resMsg"];
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        [self hideBubble];
        [self  showErrorWithTitle:@"网络错误" autoCloseTime:1];
    }];

//上传图片

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
        manager.responseSerializer = [AFHTTPResponseSerializer serializer];
        manager.requestSerializer.timeoutInterval = 10.0f;
        [manager POST:[NSString stringWithFormat:@"%@blog/api/upload_head",MYURL] parameters:send_dic constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            formatter.dateFormat = @"yyyyMMddHHmmss";
            NSString *str = [formatter stringFromDate:[NSDate date]];
            NSString *fileName = [NSString stringWithFormat:@"%@.jpg", str];
            //上传图片
            [formData appendPartWithFileData:imageData //要上传的文件
                                        name:@"pic"  //这个参数是后台取文件参数的时候用的名字,如果没有的话就传空字符串
                                    fileName:fileName//文件上传的名字,可以随便取,但是不要重名,所以一般是用拼接当前时间的方式作为文件名
                                    mimeType:@"image/jpeg"];
        } progress:^(NSProgress * _Nonnull uploadProgress) {
            
        } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
            //上传成功
            id jsons = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers  error:nil];
            
            NSLog(@"-=-= %@",jsons);
            
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            //上传失败
            
        }];

原文地址:https://www.cnblogs.com/xiyangxixia/p/10164159.html

时间: 2024-11-08 10:24:37

IOS 视频上传服务器的相关文章

iOS开发——项目实战总结&amp;类微信朋友圈发动态功能初步-图片与视频上传

类微信朋友圈发动态功能初步-图片与视频上传 最近在做一个新的项目,涉及到了关于图片和视频上传和显示的功能,研究了一段时间,总结一下. 使用AFNetworking上传图片(可一次上传多张图片,包含不同类型png, jpeg)和视频 1 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 2 3 AFHTTPRequestOperation *operation = [manager P

优化Recorder H5录音:可边录边转码上传服务器,支持微信提供Android IOS Hybrid App源码

目录 一.Recorder H5录音库的特性 (1)浏览器支持 (2)功能支持 二.使用预览截图 (1)移动端H5 (2)IOS Hybrid App (3)Android Hybrid App 三.应用场景 四.优化过程记录 (1)为什么要升级优化 (2)开始使用Web Worker加速转码 (3)剩下的问题 五.Hybrid App存在的意义 六.更多支持 Recorder H5 GitHub开源库随着支持功能的增多,音频转码处理效率渐渐的跟不上需求了,近期抽时间对音频转码部分进行了升级优化

php如何解析IOS/Android上传的Json消息

使用yii框架php服务器接收IOS/Android上传的Json消息时,$_POST. Yii::app()->request->getPost()结果都将为null. 使用file_get_contents("php://input")才能够正常获取. "php://input"可以访问请求的原始数据,并且带给内存的压力更小. 例子如下: class appController extends Controller { public function

基于腾讯云点播的视频上传和转码功能

在之前的文章中提到过腾讯云储存上传大文件的各种不方便,比如不能转码(要转码得先把mp4文件从云存储上下载下来,然后通过服务器执行ffmpeg操作,最后再把切割的ts文件上传到腾讯云,过程复杂且容易出错),不能获取实时的上传进度等等,所以就发现腾讯云点播这项技术.相对来说通过云点播既能实现上传进度的获取,而且还能上传完成后自动转码,比如自动把mp4转换为m3u8格式的清单文件来进行分片加载,这样子既能大大加快加载速度,还能保护视频链接的url,所以就记录一下这种技术的使用原理. 云点播视频上传Js

ios 文件上传, post数据

一.文件下载 获取资源文件大小有两张方式 1. HTTP HEAD方法 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:kTimeout]; request.HTTPMethod = @"HEAD"; [NSURLConnection sendAsynchronousRequest:request queue:self.myQueue

修正ios h5上传图时的图片方向问题

.ios上传会在exif中带一个 Orientation的属性,这个属性在windows中不会生效,在ios浏览器中会生效,造成图片在windows资源管理器中与ios浏览器中方向不一致 为了用户体验,需要把图片矫正成正常的图片. 需要用到一个 exif 插件 地址 https://github.com/exif-js/exif-js/ 代码 function check_file(files){ //校验收集表单数据 // var formdata = new FormData(); if(!

java接受安卓及ios App上传的图片,并保存到阿里OSS

做后台的时候,写了两个方法,分别用来获取安卓和苹果IOS端上传的头像,保存到阿里云OSS图片存储服务器上.(SMM框架) 安卓及H5版本: 1 /** 2 * 上传用户头像 3 */ 4 @RequestMapping("/uploadPhoto") 5 public R uploadPhoto(@RequestParam("imgFile") MultipartFile imgFile, HttpServletRequest req) throws Excepti

jsp+ssm+tomcat配置ueditor(单图片,视频上传)

一.下载ueditor资源 二.减压资源,将ueditor包(我项目里的utf8-jsp)放到项目的WebContent下的js文件夹里. 把ueditor资源里 utf8-jsp\jsp\lib文件夹里的jar包拷贝到项目的lib里.(以idea为例)选择file--->Project Structure-->Libraries.导入ueditor-1.1.2.jar包. 三.在需要使用的ueditor的页面引用下图的js(顺序是固定的) 在页面添加 <textarea name=&q

c# 通过解析mp3规范命名并上传服务器

引用using Shell32; private void Open_Click(object sender, RoutedEventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "MP3 Files(.mp3)|*.mp3|WMA Files(*.wma)|*.WMA"; //ofd.Multiselect = true; //允许多选 ofd.RestoreDirectory = true; //