Internet Explorer 在 liferay 环境中不显示 img

Internet Explorer not displaying img in liferay environment

我真的为这个问题发疯了。

我们已经设置了一个 Liferay 环境,该环境使用 @RessourceMapping 方法向我们的网站提供图像。这些图像会显示在所有浏览器(Safari、Chrome、Firefox、Mobile)上——Internet Explorer 除外。

我们的后端代码非常简单:

public void getImage(ResourceRequest request, ResourceResponse response) throws IOException {

byte[] imageSrc = getImageFromDatabase()
response.setContentType("image/jpg");
OutputStream portletOutputStream = response.getPortletOutputStream();
portletOutputStream.write(imageSrc);
response.setContentLength(length);
portletOutputStream.flush();
portletOutputStream.close();

}

显示Image的JSP也不复杂:

<div class="span12">
    <img src="${getImageUrl}" width="100%" />
</div>

我(在 Internet Explorer 开发工具中)看到的是,对于一些未加载的图片,我得到了 304,而对于其他图片,只有 "cancelled"。

这里是 URL 我打电话的例子:

http://my-server/web/my-portlet/display?p_p_id=mylongportletnamedisplayportlet_WAR_mylongportletname&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getImage&p_p_cacheability=cacheLevelPage&p_p_col_id=column2&p_p_col_count=2&_mylongportletnamedisplayportlet_WAR_mylongportletname_id=658468&_mylongportletnamedisplayportlet_WAR_mylongportletname_imageType=logo&_mylongportletnamedisplayportlet_WAR_mylongportletname_entityType=car

知道为什么这些图像不显示在 Internet Explorer 中吗?

我没有找到我的问题的答案,但我找到了解决方法:

我现在正在使用一个简单的 servlet。它只是 returns 图片,仅此而已:5 分钟内完成,效果非常好。

我现在会坚持使用 servlet。