Отправка двоичных данных с помощью клиента Restlet
Вопрос
Я пытаюсь отправить 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
это специально разработано для больших представлений
Не связан с StackOverflow