Загрузить изображение на веб-сервер

ios objective-c post image-upload

61 просмотра

1 ответ

Я хочу загрузить UIImageна веб-сайт. Я реализовал некоторый код. Я выбрал изображение на первой странице и загрузил на вторую страницу. Где-то в этом месте ----- [body appendData: [NSData dataWithData: _imgData]]; --- - _imgData становится ноль. введите код здесь Я уже написал некоторый код, но я не знаю, где моя ошибка.

    My Code is:

           -(void)ImgaeCropped:(UIImage *)image
    {
        _imageView.image=image;

        Register2 *reg2=[self.storyboard instantiateViewControllerWithIdentifier:@"Register2"];
      //  reg2.self.selected_image=_imageView.image;

        reg2.imgData=imageData;

        picture_view.hidden=YES;
    }

    - (void)imagePickerController:(UIImagePickerController *) Picker didFinishPickingMediaWithInfo:(NSDictionary *)info
    {
        @try {
           // transparent_view.hidden=YES;
            UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
            [indicator startAnimating];
            indicator.frame=CGRectMake(0, 0, 10, 10);
            indicator.center = CGPointMake(CGRectGetMidX(_imageView.bounds), CGRectGetMidY(_imageView.bounds));
            [_imageView addSubview:indicator];
            [indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
            [indicator setColor:[UIColor grayColor]];
            [indicator startAnimating];

            [self dismissViewControllerAnimated:YES completion:^ {
                [indicator removeFromSuperview];
                [indicator stopAnimating];
                CropViewController *crop=[self.storyboard instantiateViewControllerWithIdentifier:@"CropViewController"];
                crop.cropDelegate=self;
                crop.image=[info objectForKey:UIImagePickerControllerOriginalImage];

    //           UIImageView *imgvUserImage = [[UIImageView alloc]init];
                UIImage *imgvUserImage= [info objectForKey:UIImagePickerControllerOriginalImage];

                imageData=UIImageJPEGRepresentation(imgvUserImage, 0.9);

                [self presentViewController:crop animated:YES completion:nil];
            }];

        }
        @catch (NSException *exception) {
            //        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Finish Picking" message:exception.description delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            //        [alert show];
        }
        @finally {
            //        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Finish Picking" message:@"Final" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            //        [alert show];
        }

    }


And the image selection code is ---------------

-(void)ImgaeCropped:(UIImage *)image
{
    _imageView.image=image;

    Register2 *reg2=[self.storyboard instantiateViewControllerWithIdentifier:@"Register2"];
  //  reg2.self.selected_image=_imageView.image;

    reg2.imgData=imageData;

    picture_view.hidden=YES;
}

- (void)imagePickerController:(UIImagePickerController *) Picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    @try {
       // transparent_view.hidden=YES;
        UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
        [indicator startAnimating];
        indicator.frame=CGRectMake(0, 0, 10, 10);
        indicator.center = CGPointMake(CGRectGetMidX(_imageView.bounds), CGRectGetMidY(_imageView.bounds));
        [_imageView addSubview:indicator];
        [indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
        [indicator setColor:[UIColor grayColor]];
        [indicator startAnimating];

        [self dismissViewControllerAnimated:YES completion:^ {
            [indicator removeFromSuperview];
            [indicator stopAnimating];
            CropViewController *crop=[self.storyboard instantiateViewControllerWithIdentifier:@"CropViewController"];
            crop.cropDelegate=self;
            crop.image=[info objectForKey:UIImagePickerControllerOriginalImage];

//           UIImageView *imgvUserImage = [[UIImageView alloc]init];
            UIImage *imgvUserImage= [info objectForKey:UIImagePickerControllerOriginalImage];

            imageData=UIImageJPEGRepresentation(imgvUserImage, 0.9);

            [self presentViewController:crop animated:YES completion:nil];
        }];

    }
    @catch (NSException *exception) {
        //        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Finish Picking" message:exception.description delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        //        [alert show];
    }
    @finally {
        //        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Finish Picking" message:@"Final" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        //        [alert show];
    }

}
Автор: simer kaur Источник Размещён: 08.11.2019 11:02

Ответы (1)


1 плюс

добавьте AFNetworking в ваш проект

https://github.com/AFNetworking/AFNetworking

 MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.mode = MBProgressHUDModeIndeterminate;
hud.labelText = @"Loading";

NSMutableDictionary* data=[NSMutableDictionary new];
//if you want to add parameters with the image
NSData *imageData = UIImageJPEGRepresentation(selectedImage, 0.5);
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
manager.responseSerializer = responseSerializer;

AFHTTPRequestOperation *op = [manager POST:@"http://www.pickkup.com/webservice/uploadpictureios.php" parameters:data constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
    [formData appendPartWithFileData:imageData name:@"image" fileName:@"photo.jpg" mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
    [hud hide:YES];
    NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    [hud hide:YES];

    NSLog(@"Error: %@ ***** %@", operation.responseString, error);
}];

[op start];
Автор: sherif.Khaled Размещён: 20.08.2016 08:06
Вопросы из категории :
32x32