2017-03-08 4 views
2

Chromeで読み込んだときにどのようにしたいのかを読み込むシンプルなHTMLがあります。ソケットjava経由でHTMLページを送信したときに画像が読み込まれない

<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"と同じディレクトリにあります。私は何が欠けていますか?

答えて

0

私はこの問題は、もう1つのhttp要求を送信していることが原因だと考えています。 127.0.0.1/cat.jpgがあなたの写真を返すべきである間に、index.htmlファイルを表示するには、例えば127.0.0.1/index.htmlのような準備をする必要があります。 しかし、Javaでjpgファイルを解析する方法はわかりません。 しかし、あなたがクロムに​​いて、検査に行くならば。あなたはネットワークに行きます。そこからリロードすると、httpリクエストの処理方法をどのように実装したかによって、写真のリクエストが保留中か、返された正しい情報ではないことがわかります。

関連する問題