2016-08-20 26 views
-1

UIImageをWebサイトにアップロードしたいと思います。私はいくつかのコードを実装しています。最初のページから画像を選択して、2番目のページにアップロードしました.---- [body appendData:[NSData dataWithData:_imgData]]; ---- _imgDataはnilになります。ここにコードを入力してください私はすでにいくつかのコードを書いていますが、私は間違いがどこにあるのかわかりません。画像をWebサーバーにアップロード

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]; 
    } 

} 
+0

そして、何それで問題だにAFNetworkingを追加! – Eiko

+0

申し訳ありませんが、あなたのエラーを推測したくありません。投票を終了する。 – Eiko

答えて

1

プロジェクト

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]; 
関連する問題