2014-08-29 2 views
1

사진을 찍을 수있는 앱이 있으며 목표는 .net 서버에 업로드하는 것입니다.iOS에서 .net 서버로 바이트 배열을 통해 이미지 보내기

서버를 관리하는 개발자가 각 이미지를 바이트 배열로 보내달라고 요청했습니다.

제가 iOS에서 할 수있는 일입니까? 그렇다면 어떻게해야합니까? 바이트 배열을 보내는 것에 대해 더 많은 질문이 필요합니까? 아니면 더 간단한 방법이 있습니까? 이전에 동일한 개발자의 웹 서비스를 사용하여 업데이트를 수행했지만 이미지 (텍스트 또는 json 만)는 보내지 않았습니다.

나는 그를 this thread으로 보여 주었고, 그는 눈이 멀었습니다.

+0

글쎄요, 어떤 종류의 서버입니까? 예를 들어 HTTP 게시물을 작성 하시겠습니까? TCP/IP를 통해 자체 프로토콜을 통해 직접 연결 하시겠습니까? 모든 이미지를 단일 연결로 보내거나 이미지 당 하나의 연결을 사용합니까? –

+0

HTTP 게시물은 이전에 수행 한 작업에 충실합니다. 아마도 TCP/IP 일 겁니다. 이미지 당 하나의 NSURLConnection. – kraftydevil

+0

좋아요, 음, 충분히 간단 해 보입니다. Content-Type 및 Content-Length 헤더를 적절하게 설정하고 데이터를 본문에 넣으십시오. 문제가 무엇입니까? –

답변

1

네트워크를 통해 무언가를 보내면 실제 바이트 배열로 보내므로 json으로 인코딩 된 base64와 같은 바이트 배열로 다른 것을 의미하지 않는 한 간단합니다. 서버의 컨트롤러에서 스트림이나 바이트 배열로 HTTP POST 또는 PUT의 결과를 보거나 검색 할 수 있습니다. 귀하가 게시 한 링크는 맞습니다. 지금 NSURLSession 일은 아마도 갈 길이 멀지 만,

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:urlToPostTo]; 
request.HTTPMethod = @"POST"; 
request.HTTPBody = UIImagePNGRepresentation(imageToPost); //Or UIImageJPGRepresentation 
[request setValue:@"image/png" forHTTPHeaderField:@"Content-Type"]; 
//Content-Length is usually not needed for servers, as there is no user interaction 

NSURLSessionTask *dataTask = [self.session dataTaskWithRequest:request completionHandler:completionHandler]; 
[dataTask resume];