WCF 서비스를 사용하여 iPhone에서 웹 사이트로 파일을 업로드하려고합니다. WCF 서비스에는 iPhone에서 성공할 수있는 많은 메서드가 있습니다.JSON을 사용하여 WCF 서비스로 NSData 보내기
[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "UploadFileBinary")]
UploadFileResponse jsonUploadFile(UploadFileRequest request);
UploadFileRequest에는 FileBinaryData 및 FileName에 대한 바이트 [] 및 문자열이 각각 들어 있습니다.
문제는 NSData 개체로 파일 데이터를 가지고 있으며 JSON 호환 형식으로 변환하는 방법을 모르는 것입니다. 나는 몇 가지 제안을했지만 아무도 나를 위해 일한 적이 없다.
업로드하려는 경우 파일을 업로드하는 데 왜 NSInputStream을 사용하지 않습니까? 그것은 메서드를 - (void) setHTTPBodyStream : (NSInputStream *) 당신이 정말로 파일을 업로드하려는 경우 도움이 될 inputStream있다. 그런데 - (void) setHTTPBody : (NSData *) data와 같은 메소드를 사용하여 NSMutableUrlRequest 본문에 본문을 추가 한 다음 파일에 데이터를 전달할 수도 있습니다. –
고마워,하지만 WCF 바이트 []를 문자열로 변환하고 내 바이트 []를 base64 문자열로 인코딩/디코딩하는 결과가 발생했습니다. 나는 NSInputStream에 대해 몰랐지만, 다음 업데이트에서 그 부분을 조사 할 것입니다. –