#ios #string #ios7 #nsurlconnection
#iOS #строка #ios7 #nsurlconnection
Вопрос:
Я получаю значение PassedUserId из другого представления.Я могу распечатать значение в журнале. но она не присваивается строке url. Здесь я пытаюсь передать текст вместе с изображением.
NSString *requestString =[NSString stringWithFormat:@"UserId=%@amp;CategoryId=%@amp;Continent=%@amp;Country=%@amp;City=%@amp;Gender=%@amp;ImageName=%@amp;AgeRange=%@",PassedUserId,CategoryId,continentTextfield.text,countrytextfield.text,citytextfield.text,gender,imagename,ageTextfield.text];
NSString *url=[NSString stringWithFormat:@"http://192.168.2.4:98/UserImage.svc/InsertFacialImage?%@",requestString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
// Create 'POST' MutableRequest with Data and Other Image Attachment.
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request setValue:contentType forHTTPHeaderField:@"Content-Type"];
NSData *data = UIImageJPEGRepresentation(chosenImage, 0.2f);
[request addValue:@"image/JPEG" forHTTPHeaderField:@"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[NSData dataWithData:data]];
[request setHTTPBody:body];
NSData *returnData;
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"Ret: %@",returnString);
Комментарии:
1. Содержит ли строка пробелы или нестандартные символы (например, шведский, японский и т. Д.)? Если это так, URL-адрес станет нулевым, если вы не экранируете его, используя, например, NSString
stringByAddingPercentEscapesUsingEncoding:
2. Пожалуйста, закодируйте URL-адрес. . может быть, есть специальные символы. .
3. каков тип переданного идентификатора пользователя
4. строка @IQworldMaster
5. хорошо, тогда, пожалуйста, используйте это для строки, и проблема будет решена: stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding
Ответ №1:
Первое, что я заметил, это то, что вы поменяли местами два значения:
stringWithFormat:@"UserId=%@amp;CategoryId=%@...",CategoryId,PassedUserId
Не могли бы вы уточнить, какие типы CategoryId
данных имеют и PassedUserId
?
Если это строки, вы все делаете правильно. Однако, если они имеют тип данных integer, вы должны использовать %i
вместо %@
.