- (IBAction)startUploadTask:(id)sender {
//网络地址
NSString *urlString = @"https://api.weibo.com/2/statuses/upload.json";
//创建access_token
NSString *token = @"2.00hd363CtKpsnBedca9b3f35tBYiPD";
//获取输入的文字和图片
UIImage *image = _imageView.image;
NSString *text = _textField.text;
if (image == nil || text.length == 0) {
return;
}
//构造参数字典
NSDictionary *dic = @{@"access_token" : token,
@"status" : text};
//创建序列化对象
AFHTTPRequestSerializer *serializer = [AFHTTPRequestSerializer serializer];
//创建请求对象
NSMutableURLRequest *request = [serializer multipartFormRequestWithMethod:@"POST" URLString:urlString parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
//图片数据的拼接
NSData *imageData = UIImageJPEGRepresentation(image, 1);
[formData appendPartWithFileData:imageData name:@"pic" fileName:@"image.png" mimeType:@"image/png"];
} error:nil];
//创建manager
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
//创建上传任务
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:^(NSProgress * _Nonnull uploadProgress) {
//回到主线程中 刷新界面
dispatch_async(dispatch_get_main_queue(), ^{
//Update the progress view
[_progressView setProgress:uploadProgress.fractionCompleted];
});
} completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
NSLog(@"状态码:%li", ((NSHTTPURLResponse *)response).statusCode);
if (error) {
NSLog(@"上传失败");
}else {
NSLog(@"上传成功");
}
}];
[uploadTask resume];
}
AFNetworking实现上传
最新推荐文章于 2021-07-30 16:23:08 发布