2016-12-26 58 views
3

我正在使用AFNetworking将图像发送到我的服务器。当我从图库中挑选图片时,每件事情都很好。但是,当我使用相机选择图像时,服务器向我发送一个错误,表明它的图像无效。将图像从相机上传到服务器时出错AFNetworking 3.0

  • 使用UIImagePickerController从相机中选取图像。

代码

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"]; 
[manager.requestSerializer setValue:API_KEY_VALUE forHTTPHeaderField:API_KEY]; 


NSMutableURLRequest * request = [manager.requestSerializer multipartFormRequestWithMethod:@"POST" URLString:URL parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) 
           { 
            UIImage *image = nil; 
            for (int i=0; i < [imagesArr count]; i++) 
            { 
             image = [imagesArr objectAtIndex:i]; 
             //   image = [UIImage imageNamed:[NSString stringWithFormat:@"%d", i+1]]; 
             NSData *imageData = UIImageJPEGRepresentation(image, 1.0); 
             NSString * paramName = [NSString stringWithFormat:@"scrappygram_image[%d]",i]; 

             [formData appendPartWithFileData:imageData name:paramName 
                   fileName:[NSString stringWithFormat:@"image_%d",i] 
                   mimeType:@"image/jpeg"]; 
            } 
           } error:nil]; 


[[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse response, id responseObject, NSError error) 
    { 
     if (error) 
     { 
      NSLog(@"Error: %@", error.localizedDescription); 
      [self.delegate apiFailedWithError:error andType:type]; 
     } else 
     { 
      NSLog(@"%@", responseObject); 
      [self.delegate apiSuccessWithRespoonseDictionary:responseObject andType:type]; 
     } 
    }] resume]; 

难道通过相机上传时完成与选项的代码启动以下方法

[GMSPlacesClient provideAPIKey:GMSPLACES_API_KEY]; 
[GMSServices provideAPIKey: GMSPLACES_API_KEY]; 
[[IQKeyboardManager sharedManager] setEnable:YES]; 
[[IQKeyboardManager sharedManager] setShouldResignOnTouchOutside:true]; 
[self settingsForRemoteNotifications]; 

[[NSUserDefaults standardUserDefaults] setValue:DEBUG_API_FAILED_ERROR_SHOW_YES forKey:DEBUG_ERROR_KEY]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

return YES; 
+0

请问您是否可以分享您的didFinishLaunching方法代码? –

+0

更新您的问题。 –

回答

-1

使用。

- (void)selectPhotoFromCamera 
{ 

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; 
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera; 
    //imagePickerController.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; 
    imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; 
    imagePickerController.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeImage, nil]; 
    imagePickerController.delegate = self; 
    [self presentViewController:imagePickerController animated:YES completion:nil]; 

} 
+0

在@Dheeraj中有什么特别的东西? –

+0

其阿米特的答案...我有正确的一些代码格式 –

相关问题