使用Restlet客户端发送二进制数据

时间:2009-05-24 18:08:00

标签: java http rest restlet put

我正在尝试使用Restlet发送一个byte [](使用PUT)但我找不到有关如何执行此操作的任何信息。我的代码如下所示:

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

我曾期望找到类似于ByteArrayRepresentation的内容,就像有一个JsonRepresentation和一个StringRepresentation但我找不到任何东西。

3 个答案:

答案 0 :(得分:7)

我相信你想使用InputRepresentation,就像这样:

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

答案 1 :(得分:1)

我不熟悉restlet,但一种方法是对数据进行base64编码。然后你可以像常规字符串一样处理它。

答案 2 :(得分:1)

您可以尝试子类化专为大型表示而设计的WritableRepresentation