Java 在IE10中显示图像时出错
服务器: html:Java 在IE10中显示图像时出错,java,internet-explorer-10,Java,Internet Explorer 10,服务器: html: @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, s
@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);
}
}
}
问题是IE10不显示图像。响应体包含图像,标题为200 OK。那会是什么
登记入住:
铬合金v43.0.2357.132
FireFox开发者版v40
IE v10
您需要在编写内容之前设置标题,否则将忽略标题
<img src="/url/2/${id}" onerror="$('#c').empty();" />
编辑:
您的内容类型二进制/八位字节流没有意义。
在这里,我希望使用图像/gif或其他适当的内容类型。
我还将删除内容处置标题。检查ie10上的响应标题。另外,请将标题与静态图像进行比较,并尝试在标题部分添加。@arbit,这没有帮助,methis也没有帮助
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;
FileCopyUtils.copy(FileCopyUtils.copyToByteArray(img), response.getOutputStream());