在IE10中显示图像时发生java错误
服务器:
@RequestMapping(value = "/url/{size}/{id}", method = RequestMethod.GET)
public void getPortfolioFile(HttpServletResponse response,
@PathVariable("id") int id,
@PathVariable("size") int size)
{
File img = provider.getImage(id, size);
if (img != null) {
try {
FileCopyUtils.copy(FileCopyUtils.copyToByteArray(img), response.getOutputStream());
String mimeType = img.toURL().openConnection().getContentType();
response.setContentType(mimeType);
response.setContentLength((int) img.length());
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Content-Type", "binary/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=\"" + img.getName() + "\"");
} catch (IOException e) {
e.printStackTrace(System.err);
}
}
}
html:
<img src="/url/2/${id}" onerror="$('#c').empty();" />
问题是IE10不显示图像。响应体包含图像,标题为200 OK。会是什么
入住:
- Chrome v43。0.2357.132
- FireFox开发者版v40
- IE v10
# 1 楼答案
您需要在编写内容之前设置标题,否则它们将被忽略
编辑: 您的内容类型“二进制/八位字节流”没有意义。 在这里,我希望使用“image/gif”或其他合适的内容类型。 我还将删除内容处置标题