AFNetworking上传图片

//上传图片

+(void)sendPostHeadImgRequestWithDictionary:(NSMutableDictionary *)dict andImgName:(NSString *)imgName image:(UIImage *)img success:(SuccessBlock)success failure:(FailureBlock)failure{
    
  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        NSData *imgData = UIImagePNGRepresentation(img);
    
        NSString *url =  @"图片上传地址";
        NSLog(@"send img url =  %@",url);
        
        NSMutableURLRequest *request1 = [[AFHTTPRequestSerializer serializer] requestWithMethod:@"POST" URLString:url parameters:nil error:nil];

//NSData  NSInputStream 二选一
//        NSInputStream *inputStream = [[NSInputStream alloc]initWithData:imgData];
//        [request1 setHTTPBodyStream:inputStream];
        [request1 setHTTPBody:imgData];
        
#if 0
        //多张图片上传
        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
        
        [manager POST:url parameters:nil constructingBodyWithBlock:^(id formData) {
            
            [formData appendPartWithFileData:imgData name:imgName fileName:[NSString stringWithFormat:@"%@.png",imgName] mimeType:@"image/jpeg"];
            
            
        } success:^(AFHTTPRequestOperation *operation, id responseObject) {
            
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            
        }];
#endif
        //单个图片上传
        AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:request1];
        [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
            
            NSString *dataStr = operation.responseString;
            NSData *response = [dataStr dataUsingEncoding:NSUTF8StringEncoding];
            NSDictionary *resultDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:nil];
            
            NSString *msg = [NSString getMsgStringWithCode:[resultDic objectForKey:@"resultcode"]];
            int mark = [[resultDic objectForKey:@"state"] intValue];
            if (mark==1)
            {
                success(resultDic);
            }
            else{
                failure(msg,0);
                
                [[AnimationImgsLoad sharedInstance] dismiss];
            }
            
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"fail :%@",error);

            [[AnimationImgsLoad sharedInstance] dismiss];
        }];
        
        [operation start];
    });
}

你可能感兴趣的:(AFNetworking上传图片)