iOS_文件上传进度条的实现思路-AFNettworking
来源:互联网 发布:上海跳跃网络吧 编辑:程序博客网 时间:2024/06/03 19:47
原文来自本人QQ空间的转载整理。未亲自测试过,先行收藏以便日后查阅。
//要上传的文件名,在这里我使用当前日期做为文件的名称 NSString * fileName =[NSString stringWithFormat:@"%ld", (long)[NSDatenew].timeIntervalSince1970]; //要上传的文件 NSData * data = [NSData dataWithContentsOfFile:[XXXXXXXX]]; //下面的dic就是一些其他的参数,没有就不要了 NSDictionary *dic = @{@"jsessionid": [User shareUser].sessionID,@"to":[UsershareUser].userID,@"fromUserId":self.toUserID,@"second":@((int)recorder.currentTime)}; // 接口的 AFHTTPSession 不能提供一种方法来设置进度块。相反,必须进行以下操作: // 1. 创建一个 `AFHTTPRequestSerializer`,利用此对象可以创建一个request请求. AFHTTPRequestSerializer *serializer = [AFHTTPRequestSerializer serializer]; // 2. 获取一个`NSMutableURLRequest`对象. NSMutableURLRequest *request = [serializer multipartFormRequestWithMethod:@"POST"//请求方法为post URLString:@"http://xxx.xxx.xxx.xx"//上传文件URL parameters:dic//上传的其他参数 constructingBodyWithBlock:^(id<AFMultipartFormData> formData)//设置请求体 { [formData appendPartWithFileData:data//音乐媒体文件的data对象 name:@"multipartFile"//与数据关联的参数名称,不能为nil fileName:fileName//上传的文件名,不能为nil mimeType:@"audio/mp4"];//MIME类型(例如:图片为image/jpeg.) 可以参照 http://www.iana.org/assignments/media-types/. ,不能为nil } error:&playerError];//playerError为错误对象 // 3. 创建并使用 `AFHTTPRequestOperationManager`,然后创建一个异步请求操作对象`AFHTTPRequestOperation`,这个对象执行时会发送刚刚创建的`NSMutableURLRequest`请求. 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);//上传失败的语句块 }]; // 4. 设置上传进度块. [operation setUploadProgressBlock:^(NSUInteger __unused bytesWritten, long long totalBytesWritten,//已上传的字节数 long long totalBytesExpectedToWrite)//总字节数 { //每次上传一部分数据,都会调用此块输出进度,可以在此方法中设置你的上传进度条页面 NSLog(@"Wrote %lld/%lld", totalBytesWritten, totalBytesExpectedToWrite); }]; //5. 开始上传任务 [operation start];
0 0
- iOS_文件上传进度条的实现思路-AFNettworking
- PHP上传文件进度条的实现详情
- JAVA上传文件进度条的实现
- android实现带进度条的文件上传
- XMLHTTPRequest实现带进度条的文件上传
- struts2实现带进度条的文件上传
- 简单实现一个文件上传的进度条
- ajax实现带进度条的文件上传
- html5 ajax文件上传的进度条实现
- Servlet实现带进度条的文件上传
- 上传进度条的实现
- ajax上传文件进度条实现
- php实现文件上传进度条
- php实现文件上传进度条 .
- php实现文件上传进度条
- SpringMVC实现文件上传进度条
- Servlet实现上传文件进度条
- 实现HttpClient上传文件进度条
- SEOer需要掌握哪些技术?
- 嵌入式 ubuntu下时区设置相关文件或方法
- python logging 简单使用总结
- 函数strcat的实现(strncat)
- 申和国际客家话
- iOS_文件上传进度条的实现思路-AFNettworking
- OC列表-扩展
- 轻量级Web服务器Mongoose
- Web服务器 Mongoose 的介绍与安装
- linux 命令之 字符串转换——tr
- ubuntu14 使用小记
- 【BZOJ 1874】 [BeiJing2009 WinterCamp]取石子游戏
- 数据结构(二) 栈应用
- 面向对象基础知识总结