我目前在从Safari(Yosemite OS X版本)的Java字节流中显示jpg时遇到问题。该图像在所有其他浏览器(包括Safari的早期版本)中均能正常显示。有人知道最新版本的Safari显示jpg的错误吗?有没有其他人遇到此问题并已解决。

        byte[] checkImage = checkImageString.getBytes(CommonConstants.ENCODING);

        checkImage = Base64.decodeBase64(checkImage);

        if ( null != checkImage ) {
            int imageLength = checkImage.length;
            response.setContentType(CommonConstants.JPEG_MIME_TYPE);
            response.setContentLength(imageLength);
            // to prevent caching
            response.setHeader( CommonConstants.ACCEPT_RANGES_HEADER, CommonConstants.BYTES);
            response.setHeader( CommonConstants.EXPIRES_HEADER, CommonConstants.EXPIRE );
            response.setHeader( CommonConstants.CACHE_CONTROL_HEADER, CommonConstants.NO_CACHE );
            response.setHeader( CommonConstants.PRAGMA_HEADER, CommonConstants.NO_CACHE );
            response.setStatus(HttpServletResponse.SC_OK);

            ServletOutputStream sos = response.getOutputStream();
            sos.write(checkImage, 0, imageLength);
            sos.flush();
            sos.close();
        }

最佳答案

看起来这不是编码问题,而是返回图像字节字符串的服务问题。 –

关于java - 在Yosemite OSX的Safari中显示JPG的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27367670/

10-10 12:45