Не удалось поразить сервер с помощью метода sendSynchronous - PullRequest
0 голосов
/ 16 февраля 2012

Я использую синхронный запрос для отправки изображения в виде шестнадцатеричной строки на сервер.Я не могу подключиться к серверу, если отправляю шестнадцатеричную строку изображений с разрешением 200x150, но я могу получить ответ от сервера, если отправлю такое же изображение с более низким разрешением, например, 100x75.

NSMutableString *urlString = [NSMutableString    stringWithString:@"http://xxxxxx:8080/GeoLocationSave/ReceiveImage"];
UIImage *sample = [UIImage imageNamed:@"ip_addphoto_100x75@2x.png"];
NSData *imgData = UIImagePNGRepresentation(sample);
[urlString appendString:@"?image="];
[urlString appendString:hexImage];
NSError *error;
error=nil;
NSURLResponse *response;
response=nil;
NSURL *url = [NSURL URLWithString:urlString];
NSData *urlData = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:url] returningResponse:&response error:&error];

Длина urlData равна 0 для изображения с более высоким разрешением.Лог значение imageData для обоих изображений идеально.Я не вижу ни одной точки входа на сервере для изображения с более высоким разрешением.

Ответы [ 2 ]

0 голосов
/ 05 марта 2012

Привет, ребята, я нашел, какую ошибку я совершил. Я был слишком нелепым, чтобы проталкивать данные размером до 8000 байт через метод HTTP Get. Я заметил, что если длина URL больше 8000 байт, он не попадает на сервер. Поэтому я просто перешел к методу HTTP POST, так как в случае, если изображение, полученное через камеру (которое может легко пройти длину 8000 байт), должно быть отправлено на сервер, оно не попадет на сервер.

0 голосов
/ 17 февраля 2012
NSData *urlData = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:urlString] 
                                        returningResponse:&response 
                                                    error:&error];

NSString *result = [[NSString alloc] initWithData:urlData 
                                         encoding:NSUTF8StringEncoding];
NSLog(@"return: %@" , result); // to see the response

Вы используете здесь URL с [NSURLRequest requestWithURL:url], но выше вы используете urlString.Где вы устанавливаете URL равным чему-либо?

...