Запрос байтового массива из REST в Java - PullRequest
0 голосов
/ 18 мая 2018

согласно этому руководству Загрузка Base64 веб-службы REST Я пытаюсь загрузить из моего клиентского приложения несколько изображений, хранящихся в байтовом массиве, которые отправляются из моей службы REST.Файл ресурсов REST содержит:

//****RESTful Service****
@GET    // HTTP GET request
@Path("get_pictures/{userid}")
@Produces( MediaType.APPLICATION_OCTET_STREAM )
// Gets all the pictures for the report
public Response getReportPictures(@PathParam("userid") int userid) {
    return wsmanager.getReportPictures(userid);
}

В приведенном ниже методе getReportPicture () я сериализую изображения и сохраняю их в ArrayList, который я хочу вернуть через вышеуказанный сервис REST.Класс Image - одна из моих возможностей для сериализации и десериализации изображений.Процесс сериализации и возвращение ArraList byte [] работает хорошо.

    //**** getReportPicture() method *****
    ArrayList<byte[]> pictures = new ArrayList<byte[]>();
    ...
    Response response = null;
    ...
    byte[] img = Image.serialize(strPictureFile);       
    pictures.add(img);
    ... 
    ResponseBuilder builder = Response
        .ok( pictures, "image/jpg" )
        .header( "Content-Disposition","inline; filename = \"" + name + "\"" );
        response = builder.build();

    return response;

В моем клиенте Java я пытаюсь прочитать содержимое из службы REST, которая не работает, реализуя приведенный ниже код:

    WebTarget target = baseTarget.path("get_pictures/"+userid);
    Response clResponse = target
            .request(MediaType.APPLICATION_OCTET_STREAM)
            .get();
    String s = clResponse.readEntity(String.class);

Может кто-нибудь помочь, пожалуйста?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...