Как отправить строку base64 на сервер в iOS? - PullRequest
0 голосов
/ 25 апреля 2018

Я работаю в приложении, в котором мне нужно отправить image на server, я пытаюсь отправить Image на server, но взамен я получаю

Плохой запрос 400

.Подскажите, пожалуйста, как мне исправить эту ошибку.

Этот метод используется для преобразования изображения в строку base64

 NSData * imagedata = UIImageJPEGRepresentation(chosenImage, 0.5);

 NSString * base64String = [imagedata base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength

-(void)temp
{

      NSString * str=[self base64return];
    NSDictionary* jsonDict = @{

                               @"name": @"image_name",
                               @"img_data":str
                               };

    NSData * postData   = [NSJSONSerialization dataWithJSONObject:jsonDict
                                                          options:kNilOptions error:nil];


    NSURL * url=[NSURL URLWithString:@"http://xxxxxx/finalresult1"];

    NSMutableURLRequest *request=[[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:120.0];



    [request setHTTPMethod:@"POST"];

        [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

    [request setHTTPBody:postData];

    NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
    NSURLSession *session = [NSURLSession sessionWithConfiguration:config];

    NSURLSessionDataTask* task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
                                  {
                                      if (error == nil)
                                      {
                                          // Success
                                          NSLog(@"URL Session Task Succeeded: HTTP %ld", ((NSHTTPURLResponse*)response).statusCode);





                                          NSString * text = [[NSString alloc] initWithData: data encoding:
                                                             NSUTF8StringEncoding];
                                          NSLog(@"Data = %@",text);
                                          NSLog(@"erroer is %@",error);
                                      }
                                      else
                                      {
                                          // Failure
                                          NSLog(@"URL Session Task Failed: %@", [error localizedDescription]);
                                      }
                                  }];
    [task resume];

}

1 Ответ

0 голосов
/ 25 апреля 2018

Запрос на изменение типа содержимого, Использование: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

...