2009-05-24 6 views
7

Restlet을 사용하여 바이트 [] (PUT 사용)를 보내려고하지만 어떻게해야하는지 알 수 없습니다. 내 코드는 다음과 같습니다Restlet 클라이언트로 이진 데이터 보내기

Request request = new Request(Method.PUT, url); 
request.setEntity(WHAT DO I PUT HERE?, MediaType.APPLICATION_OCTET_STREAM); 

는 내가 거기 JsonRepresentation 및 A A StringRepresentation입니다하지만 난 아무것도 찾을 수 없습니다처럼 ByteArrayRepresentation의 라인을 따라 뭔가를 찾을 것으로 예상했다.

답변

7

나는 당신과 같이, InputRepresentation을 사용하려는 생각 :

Representation representation = new InputRepresentation(new ByteArrayInputStream(bytes), MediaType.APPLICATION_OCTET_STREAM); 
request.setEntity(representation); 
+0

완벽 해, 고마워! – Yrlec

1

저는 restlet에 익숙하지 않습니다.하지만이를 수행하는 한 가지 방법은 base64로 데이터를 인코딩하는 것입니다. 그런 다음 일반 문자열처럼 처리 할 수 ​​있습니다.

+0

감사 에밀하지만이 경우 충분히 효율적이지 못하다을 위해 설계되었습니다 WritableRepresentation 서브 클래스를 시도 할 수 있습니다. 이 코드는 많은 양의 데이터를 전송하므로 33 % 더 많은 데이터를 보낼 필요가 없습니다. – Yrlec

+0

그래, 좀 이상해. 그래도 나는 그것을 언급 할 것이다라고 생각했다. :) –

1

당신이 특히 큰 표현

관련 문제