我在GAE的blobstore中有一张图片。我需要检索它并进行一些转换,最后在我的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();
如何在jsp页面中显示我的'newImage'?如果我能看到一个示例代码,那将非常有用。我还想知道是否有任何方法可以获得我目前在blobviewer中拥有的图像的blob-key。
答案 0 :(得分:2)
您不应该在JSP页面的请求中处理图像。 你必须采取两个步骤:
1。 呈现包含图像标记的JSP页面,如
<img src="mydomain.com/getImage?blob-key=123435"/>
2。 有一个单独的servelt映射到mydomain.com/getImage,它输出具有给定id的图像。
因此,您上面提到的所有代码都将放在提供映像的servlet中,而不是JSP交付代码中。然后可以使用HTTPResponses OutputStream传递图像。并且不要忘记为响应设置正确的内容类型和长度。