Google应用引擎展示图片

时间:2011-02-20 11:52:54

标签: java google-app-engine jsp servlets

我在使用Google App Engine Java中的DataStore抓取图像时出现问题。

Servlet代码:

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
    String type=request.getParameter("type");

    if(type != null)
    {
        if(type.equalsIgnoreCase("showImage"))
        {
            Blob blob = this.retrieveImage();
            response.setContentType("image/jpg");
            response.getOutputStream().write(blob.getBytes());  
        }
    }
}

private Blob retrieveImage()
{
    GetImageQuery query = new GetImageQuery ();
    List<ImageData> listImages=query.getImages();

    Blob blobImage = listImages.get(0).getImage();
    return blobImage;
}

使用的图片src网址:

<img src="/image?type=showImage" />
有些东西可能不见了,只是无法弄清楚是什么。我调试了它并运行了代码,blob包含数据,但图像根本没有显示。

1 个答案:

答案 0 :(得分:1)

JPEG图片的正确MIME类型为image/jpeg而不是image/jpg(请参阅此reference),并且某些网络浏览器似乎不接受image/jpg。< / p>

您可以使用response.setContentType("image/jpeg");尝试相同的代码。