2014-03-28 1 views
0

Base64 인코딩을 사용하여 이미지를 보내고 REST 웹 서비스로 보내지 만 웹 서비스 끝에서 열면 검정색으로 표시됩니까?UIImage Base64 인코딩 및 웹 서비스 문제 - IOS

내 코드는 다음과 같습니다 :

UIImage *image1; 

NSString *encodedstring; 

NSData *imagedata =UIImageJPEGRepresentation(image1, 1.0f); 

encodedstring = [imagedata base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; 

답변

0

왜 이미지 이름 image1을 시작하지 않습니다. 이미지 1에 이미지가 포함되어 있지 않은 것 같습니다.

UIImage *image1 = [UIImage imageNamed:@"some image file name"]; 

당신은 NSLog의 encodedstring 할 수 있습니다 여기에 테스트 : 테스트의 경우, 시도 http://www.freeformatter.com/base64-encoder.html 그래서 당신은 이미지를 실제로 단절 보내기 직전에 변환됩니다 base64로 문자열을 볼 수 있습니다.

0

문자열을 보내는 동안 URL 인코딩 + % 2B로 해결했습니다. +를 % 2B와 (과) 교체하면 도움이됩니다. 서버 측 코드가 자동으로 % 2B를 (를) 대체합니다. +

실제로 여기서 일어나는 일은 URL 연결을 사용하여 base64 문자열을 보내려고 할 때 문자열의 각 +가 공백으로 대체됩니다. 이렇게하면 문자열이 유효하지 않게되어 검은 색 이미지가됩니다.

희망이 도움이됩니다. 건배.