与客户的Restlet发送二进制数据
题
我试图发送一个字节[](使用PUT)用的Restlet,但我无法找到如何做到这一点的任何信息。我的代码看起来是这样的:
Request request = new Request(Method.PUT, url);
request.setEntity( WHAT DO I PUT HERE?, MediaType.APPLICATION_OCTET_STREAM);
我原以为沿着ByteArrayRepresentation线的东西,就像有一个JsonRepresentation和一个StringRepresentation,但我无法找到任何东西。
解决方案
我相信你想使用 InputRepresentation 一>,像这样:
Representation representation = new InputRepresentation(new ByteArrayInputStream(bytes), MediaType.APPLICATION_OCTET_STREAM);
request.setEntity(representation);
其他提示
我不熟悉的Restlet,但做到这一点的一种方式将是Base64编码的数据。然后,你可以处理它像一个普通的字符串。
您可以尝试子类WritableRepresentation
是特别适用于大型表示设计
不隶属于 StackOverflow