Pergunta

Eu estou tentando enviar um byte [] (usando PUT) com Restlet, mas não consigo encontrar qualquer informação sobre como fazê-lo. Meus olhares código como este:

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

Eu esperava encontrar algo ao longo das linhas de ByteArrayRepresentation, assim como há uma JsonRepresentation e um StringRepresentation mas eu não consegui encontrar nada.

Foi útil?

Solução

Eu acredito que você quiser usar um InputRepresentation , assim:

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

Outras dicas

Eu não estou familiarizado com Restlet, mas uma maneira de fazer isso seria a base64 codificar os dados. Então você poderia lidar com isso como uma corda regular.

Você pode tentar a subclasse WritableRepresentation que é especialmente concebido para grandes representações

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top