2017-03-18 8 views
0

私はギャラリーから取得しているマルチパート(ファイルタイプ)を使用して画像をアップロードする必要があるアプリケーションを作成しています。誰も私にそれをする方法を教えてもらえますか?どのように私はそのイメージでパラメータを渡すでしょう。私は多くを検索しましたが、解決策は見つかりませんでした。
私のコードは次のようである: -マルチパートを使用して画像をアップロード

NSURL *baseUrl=[NSURL URLWithString:baseUrlStringForUserRegisterPage];  
    NSDictionary *[email protected]{@"pic":_imageViewUserSignUpView.image}; 
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
    manager.responseSerializer=[AFHTTPResponseSerializer serializer]; 

    [manager POST:baseUrlStringForUserRegisterPage parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) 
    { 
    } 
     progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) 
    { 
    } 
      failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) 
    { 
    }]; 

baseUrlStringForUserRegisterPageは私のURLを運びます。私はここでAFNetworkingを使用しています。

答えて

1

これは、それがどのように動作するかを次のとおりです。あなたの応答のための

NSURL *baseUrl = [NSURL URLWithString:baseUrlStringForUserRegisterPage]; 

// use parameters for other parameters than the images - if needed 
// NSDictionary *parameters = @{}; 

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 

// prepare your image(s) 
UIImage *imageToUpload = _imageViewUserSignUpView.image; 
NSData *imageData = UIImagePNGRepresentation(imageToUpload); 
// NSData *imageData = UIImageJPEGRepresentation(imageToUpload, 0.75) // if you want to upload jpeg instead of png 

[manager POST:baseUrlStringForUserRegisterPage parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
    [formData appendPartWithFileData:imageData name:@"pic" fileName:@"pic.png" mimeType:@"image/png"]; 
    // [formData appendPartWithFileData:imageData name:@"pic" fileName:@"pic.png" mimeType:@"image/jpeg"]; // if you want to upload jpeg instead of png 
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { 
    NSLog(@"success"); 
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 
    NSLog(@"failure"); 
}]; 
+0

感謝。しかし、それは救われていません。私はそうでした: - (void)imagePickerController:(UIImagePickerController *)ピッカーdidFinishPickingMediaWithInfo:(NSDictionary *)info { _imageViewUserSignUpView.image = [info objectForKey:UIImagePickerControllerOriginalImage]; imageConversionToData = UIImageJPEGRepresentation(_imageViewUserSignUpView.image、0.75); [ピッカーdismissViewControllerAnimated:はい完了:なし]; } 私はさらにimageConversionToData(NSData)を使用しています。私に提案してください。 –

+0

成功しました。ありがとう@アンドレ・スロッタ。 –

関連する問題