有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当我使用服务器socket将Android/Java图像发送到浏览器时,它无法正确显示

我已经实现了一个服务器socket,当客户端执行HTTPGET请求时,它会发送一个文件(在我的例子中是.jpg格式的图像)。通过使用firefox浏览器(和firebug)进行测试,我发现数据字节的发送和接收都是正确的。我唯一的问题是,我在浏览器中看不到图像,但我看到了奇怪的字符,例如:“ÿÀ”�à®�ÿÄ�¾��������������������������!1AQa“第二季度”B#R#br#3ða#C$S c4%D#t#E”� �!质量“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);

谢谢所有帮助我的人


共 (1) 个答案

  1. # 1 楼答案

    最后,我发现问题不在于我的代码,而在于使用的浏览器。我做了一些测试,发现: -Mozilla Firefox没有显示图像,而是显示奇怪的字符 -Safari正确显示图像 -Chrome可以正确显示图像 -歌剧只演奇怪的人物

    因此,如果你发现我的问题,我建议尝试各种浏览器

    谢谢