文件上传及进度显示

之前遇到需要显示文件上传时的进度问题,就整理了下资料,没什么复杂的东西,看代码吧。

NSString *urlString = [NSString stringWithFormat:@"%@api/?method=gdb.send_talk",BASEURL];//你的URL

    NSDictionary *dict = @{@"type":[NSString stringWithFormat:@"%d",pvtype],@"content":_textView.text};//需要传的dict,没有写nil

    AFHTTPRequestSerializer *serializer = [AFHTTPRequestSerializer serializer];
    NSMutableURLRequest *request = [serializer multipartFormRequestWithMethod:@"POST" URLString:urlString
                                                                   parameters:dict
                                                    constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

                                                        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
                                                        // 设置时间格式
                                                        formatter.dateFormat = @"yyyyMMddHHmmss";
                                                        NSString *str = [formatter stringFromDate:[NSDate date]];
                                                       //按时间给传的文件命名
                                                            NSString *imageName = [NSString stringWithFormat:@"%@.jpg", str];
                                                            NSString *videoName = [NSString stringWithFormat:@"%@.mp4", str];

                                                            [formData appendPartWithFileData:videoData name:@"video" fileName:videoName mimeType:@"mp4"];//传视频 videoData  视频所在的data
                                                            [formData appendPartWithFileData:image_data name:@"image" fileName:imageName mimeType:@"jpg"];//传图片 imageData 图片所在的data



                                                    }];
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    AFHTTPRequestOperation *operation =
    [manager HTTPRequestOperationWithRequest:request
                                     success:^(AFHTTPRequestOperation *operation, id responseObject) {
                                         NSLog(@"Success %@", responseObject);
                                         [self.navigationController popViewControllerAnimated:YES];

                                     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                         NSLog(@"Failure %@", error.description);
                                     }];
    [operation setUploadProgressBlock:^(NSUInteger __unused bytesWritten,
                                        long long totalBytesWritten,
                                        long long totalBytesExpectedToWrite) {

        NSLog(@"传了%.2fMB/共 %.2fMB",totalBytesWritten/1024.0/1024.0,totalBytesExpectedToWrite/1024.0/1024.0);

    }];
    [operation start];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值