Отправка двоичных данных с помощью клиента Restlet

StackOverflow https://stackoverflow.com/questions/904333

Вопрос

Я пытаюсь отправить byte [] (используя PUT) с помощью Restlet, но я не могу найти никакой информации о том, как это сделать.Мой код выглядит примерно так:

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

Я ожидал найти что-то вроде ByteArrayRepresentation , точно так же, как есть JsonRepresentation и StringRepresentation, но я ничего не смог найти.

Это было полезно?

Решение

Я полагаю, что вы хотите использовать Представление входных данных, вот так:

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

Другие советы

Я не знаком с restlet, но одним из способов сделать это было бы кодирование данных в base64.Тогда вы могли бы обращаться с ним как с обычной строкой.

вы можете попробовать создать подкласс WritableRepresentation это специально разработано для больших представлений

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top