The mimeType attribute of the ice:graphicImage component works as expected when the value is specified literally on the markup (e.g. mimeType="image/png"). This means that when the value of the ice:graphicImage component is a byte array, this causes the response to contain the 'Content-Type' header with the value specified in the mimeType attribute. However, if the value of this attribute is bound to a bean property, then there's no 'Content-Type' header in the response. Closer examination of the ice:graphicImage component code reveals that the getMimeType() method is a simple getter that doesn't check for a possible ValueBinding value.
r53419: Add value binding support to the mimeType attribute in ace:graphicImage.
r53421: Committed fix to the p09 tag.