繁体   English   中英

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

[英]HTML page won't load image when sent through socket java

我有这个简单的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();

图像文件“ cat.jpg”与“ index.html”位于同一目录中。 我想念什么?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM