AFNetworking을 사용하여 CardShark's API에 이미지를 제출하려고합니다.AFNetworking base64 매개 변수, NSJSONSerialization에 의해 이스케이프 처리되는 문자
NSData *imageData = UIImageJPEGRepresentation(cardImage, 1.0);
NSDictionary *parameters = @{@"front" : [imageData base64EncodedStringWithSeparateLines:NO]};
NSString *path = [NSString stringWithFormat:@"cardShark?webhookUrl=%@&apiKey=%@", kCardSharkWebHookURLEncodedString, kCardSharkAPIKey];
[self postPath:path parameters:parameters
success:^(AFHTTPRequestOperation *operation, id responseObject)
{
completion(responseObject, nil);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
completion(nil, error);
}];
나는 base64 문자열의 모든 조합을 시도했습니다. 아무 소용
base64EncodedStringWithSeparateLines:YES
base64EncodedStringWithSeparateLines:NO
base64EncodedString`
, 나는 일이 탈출되고 있음을보고하고 생성 요청에 HTTPBody
을 검사 한 후.
원시 base64로는
/9j/4AAQSkZJRgABAQAAAQABAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAAB AAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEOKAD AAQAAAABAAACrAAAAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
로 시작하지만 AFNetworking 및 아마 NSJSONSerialization을 통해 사라 졌어요 일단 당신이 /
을 볼 수 있듯이 탈출하고있다
\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEOKADAAQAAAABAAACrAAAAAD\/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH\/
으로 게시되고있다 . 탈출을 방지하려면 어떻게해야합니까? 다른 도구 (la, curl)를 통해 정확한 JSON 본문을 API에 전달하면 API에서 오류가 발생합니다. 그럼 여기서 가장 좋은 접근 방법은 무엇입니까?
RestKit에서 같은 문제가 발생했습니다. 어떤 코드 수정과 어떤 파일을 처리해야하는지 알려주세요. RestKit은 여전히 AFN 1.3을 사용하므로 코드를 수정해야합니다. 여기 내 질문에 대답 할 수 있습니다. http://stackoverflow.com/questions/29318016/prevent-restkit-from-adding-escape-characters –