我已经实现了一个服务器套接字,它在客户端执行 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);
感谢任何会帮助我的人。