Java-код для отображения изображения в Google App Engine - PullRequest
0 голосов
/ 26 сентября 2011

У меня есть изображение в интернет-магазине моего GAE. Мне нужно извлечь его, сделать некоторые изменения и, наконец, отобразить его на моей странице JSP.

В настоящее время я использовал,

BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
blobstoreService.serve(blobKey, res);

Это показывает изображение, но я хочу получить его как тип изображения и изменить его размер, используя код ниже

  ImagesService imagesService = ImagesServiceFactory.getImagesService();
  Image oldImage = ImagesServiceFactory.makeImageFromBlob(blobKey);
  Transform resize = ImagesServiceFactory.makeResize(200, 300);
  Image newImage = imagesService.applyTransform(resize, oldImage);
  byte[] newImageData = newImage.getImageData();

Как я буду отображать мой newImage на странице jsp? Было бы очень полезно, если бы я мог увидеть пример кода. Я также хотел бы знать, есть ли способ получить ключ blob для изображений, которые у меня есть в настоящее время в моем blobviewer.

1 Ответ

2 голосов
/ 26 сентября 2011

Вы не должны обрабатывать изображение в запросе на вашу страницу JSP.Вы должны сделать два шага:

1.Визуализируйте страницу JSP, содержащую тег изображения, например

<img src="mydomain.com/getImage?blob-key=123435"/>

2.Имейте отдельный сервлет, сопоставленный с mydomain.com/getImage, который выводит изображение с заданным идентификатором.

Так что весь код, представленный выше, будет идти в сервлете, который доставляет изображение, а не в коде доставки JSP.И тогда изображение может быть доставлено с помощью HTTPResponses OutputStream.И не забудьте установить правильный тип и длину содержимого для ответа.

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