我在使用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包含数据,但图像根本没有显示。
答案 0 :(得分:1)
JPEG图片的正确MIME类型为image/jpeg
而不是image/jpg
(请参阅此reference),并且某些网络浏览器似乎不接受image/jpg
。< / p>
您可以使用response.setContentType("image/jpeg");
尝试相同的代码。