2011-09-26 44 views
0

我在GAE的blobstore中有一張圖片。我需要檢索它並進行一些轉換,最後將其顯示在我的jsp頁面中。在Google App Engine中顯示圖片的Java代碼

目前我用過,

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。

回答

2

您不應該在JSP頁面的請求中處理圖像。 你必須採取兩個步驟:

1. 渲染包含像

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

2. 已映射到mydomain.com/getImage一個單獨的servelt,圖像輸出的圖像標籤的JSP頁面與給定的ID。

因此,上面介紹的所有代碼都將放在傳遞圖像的servlet中,而不是放在JSP交付代碼中。然後可以使用HTTPResponses OutputStream傳遞圖像。不要忘記爲響應設置正確的內容類型和長度。

相關問題