【问题标题】:HTML page won't load image when sent through socket java通过套接字 java 发送时,HTML 页面不会加载图像
【发布时间】:2017-03-08 03:46:29
【问题描述】:

我有这个简单的 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”位于同一目录中。我错过了什么?

【问题讨论】:

    标签: java html sockets client-server


    【解决方案1】:

    我认为问题在于它发送了另一个 http 请求。您应该做出规定,例如:127.0.0.1/index.html 以显示您的 index.html 文件,而 127.0.0.1/cat.jpg 应该返回您的图片。 但是,我不确定您将如何在 java 中解析 jpg 文件。 但是,如果您使用 chrome 并去检查;然后你去网络。如果您从那里重新加载,您将看到对您的图片的请求处于待处理状态,或者不是您返回的正确信息,具体取决于您如何实现我们对 http 请求的处理。

    【讨论】:

      猜你喜欢
      • 2013-11-04
      • 2021-06-09
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多