2009-05-24 16 views
7

Restletでbyte [](PUTを使用)を送信しようとしていますが、その方法に関する情報が見つかりません。私のコードは次のようになります。Restletクライアントでバイナリデータを送信しています

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

私はJsonRepresentationがあります同じように、ByteArrayRepresentationの線に沿って何かを見つけることが期待されるとStringRepresentationが、私は何かを見つけることができませんでした。

答えて

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

あなたは特に感謝エミル

関連する問題