HTML页面在通过套接字java发送时不会加载图像

时间:2017-03-08 03:46:30

标签: java html sockets client-server

我有这个简单的HTML加载我在Chrome中加载它时的方式。

<body>
    <div><h1>Welcome to my webpage!</h1></div>
    <div>This page is being hosted on the local machine.</div>
    <div>Now, here's a picture of a cat. Please enjoy.</div>
    <img src="cat.jpg" alt="Business Cat" width="800" height="600"/>
</body>

当我通过Java中的套接字传递它时,我总是得到一个破碎的图像。我无法弄清楚原因,因为我只是通过套接字传递字节。

File index = new File("index.html");

byte[] bytes = new byte[16 * 1024];

InputStream in = new FileInputStream(index);

while (true)
{
    int read = in.read(bytes);
    if (read < 0)
         break;
    out.write(bytes, 0, read);
}

out.flush();
out.close();

图像文件&#34; cat.jpg&#34;与&#34; index.html&#34;位于同一目录中。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我认为问题在于它发送了另一个http请求。您应该提供示例:127.0.0.1/index.html以显示您的index.html文件,而127.0.0.1/cat.jpg应该返回您的图片。 但我不确定你将如何解析java中的jpg文件。 但如果你是铬,你去检查;然后你去网络。如果您重新加载,您将看到您的图片请求未决,或者您返回的正确信息,具体取决于您实施我们处理http请求的方式。