在Chrome和Firefox中显示为损坏的图像 - ServletOutputStream

时间:2015-05-04 14:44:47

标签: java

我正在尝试从后端检索图像并将其显示在浏览器窗口中。它在Internet Explorer中运行良好,但它在chrome和forefox中显示为损坏的图像。

docImage = dpcInfo.getUploadedDocImage();

response.setContentType("image/png");
response.setHeader("Content-disposition", "inline; filename=\"GTM.png\"");
response.setContentLength(docImage.length);

try {
        ServletOutputStream sos = response.getOutputStream();
        sos.write(docImage);
        sos.flush();
        sos.close();
}

此处docImage是一个字节数组,其中包含检索到的图像。

如何在所有浏览器中显示它?

1 个答案:

答案 0 :(得分:0)

我知道,这问题是在不久前提出来的,但是对于所有有类似问题的人来说,试试这个:

  

我遇到了同样的问题。对我来说,事实证明图像是腐败的。如果我试图在photoshop中打开png文件,我会得到   一个错误,说它无法解析文件。

     

无论出于何种原因,safari都可以显示损坏的文件,但是chrome   不能。这就是我解决问题的方法。我注意到了我的“预览”   macbook可以打开文件。如果您正在使用Windows,可能   尝试绘画或gimp或除photoshop之外的其他程序。

     

我将损坏的文件下载到我的macbook上,用预览打开它   (使用>预览打开)在预览应用中,转到文件>重复,   制作图像副本保存重复图像作为测试,   我尝试在photoshop中打开新复制的图像,我能够!   将新文件上传到网站。我能够以chrome的形式查看图像   现在。希望能帮助遇到同样问题的人。

来源:broken image in chrome and firefox works in safari