0

我已经实现了一个服务器套接字,它在客户端执行 http get 请求时发送文件(在我的情况下为 .jpg 格式的图像)。使用 firefox 浏览器(和 firebug)进行测试,我看到数据字节被正确发送和接收。我唯一的问题是我在浏览器中看不到图像,但我看到了奇怪的字符,例如:“ ÿÀ�à®�ÿÄ�¾���������������� ����������!1AQa"q2'¡B#±ÁRÑbr‚3ðá'¢C$ñ²SÂc4%Òsƒ"D£³T5âÃE„"�!1AQaq"'¡2ð±BÑRÁñb'#r¢‚3CSÿÚ ��?�ùIè4" 等等。所以我认为我的服务器正确发送了字节,但它们没有像图像一样显示。这是正确的吗?我怎样才能解决这个问题?这是我用来发送字节的代码:

File photoFile = new File(getHeader);
  int size2 = (int) photoFile.length();
  byte[] bytes2 = new byte[size2];
  try {
    BufferedInputStream buf = new BufferedInputStream(new FileInputStream(photoFile)); 
    buf.read(bytes2, 0, bytes2.length);
    buf.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    client.getOutputStream().write(bytes2, 0, size2);

感谢任何会帮助我的人。

4

1 回答 1

0

最后我发现问题不取决于我的代码,而是取决于使用的浏览器。我做了一些测试,我注意到: - Mozilla Firefox 不显示图像,但奇怪的字符 - Safari 正确显示图像 - Chrome 正确显示图像 - Opera 只显示奇怪的字符

所以如果你发现我同样的问题,我建议尝试各种浏览器。

谢谢

于 2013-07-11T07:13:42.907 回答