開發(fā)身份證驗證功能時,要求以formData形式將身份證正反面圖片上傳到服務器,實現(xiàn)部分代碼如下:
AFHTTPSessionManager *imageManager = [AFHTTPSessionManager manager];
imageManager.responseSerializer = [AFHTTPResponseSerializer serializer];
//url為身份證上傳到服務器的完整地址
[imageManager POST:url parameters:nil headers:nil 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];
//將身份證正反面圖片的二進制文件拼在一起(name后面的value一定要跟后臺給的接口文檔的key一致)
//idCardFrontImg、idCardbackImg為身份證正/反面圖片,UIImage類型
[formData appendPartWithFileData:UIImageJPEGRepresentation(idCardFrontImg, 0.5) name:@"frontFile" fileName:fileName mimeType:@"image/jpeg"];
[formData appendPartWithFileData:UIImageJPEGRepresentation(idCardbackImg, 0.5) name:@"backFile" fileName:fileName mimeType:@"image/jpeg"];
} progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//上傳成功
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//上傳失敗
}];