Java Webサーバーを作成しましたが、HTML imgタグを使用して画像を送信しようとしています。私はimgタグにsrc
タグで画像ファイルへのパスに入れている Java Webサーバー経由でHTMLにimgタグを送信する
try {
socket = server.accept();
System.out.println(socket.getRemoteSocketAddress() + " has connected");
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
out.write("HTTP/1.1 200 OK\r\n");
out.write("Content-type: text/html\r\n");
out.write("\r\n");
//problem starts
out.write("<img src=\"file:///Users/Reno/Desktop/MyServer/html/images/GG9/fbicon.jpg\" alt=\"Facebook Icon\">");
out.close();
socket.close();
} catch(Exception e) {
System.out.println(e);
e.printStackTrace();
}
:これは、コードの一部です。接続は正常に動作しますが、イメージは表示されず、代替テキストが表示されます。代替テキストを追加する前に、サーバーに接続すると、クライアントのブラウザに空白のページしか表示されません。
また、srcパスを"html/images/GG9/fbicon.jpg"
に変更してみましたが、代わりに青いボックスの疑問符が表示されます。私は"fakepath"
のような存在しないsrcパスに再度変更し、疑問符も表示されます。つまり、サーバーまたはクライアントは、"file:///"
で始まる現在のsrcパスで何かを読み取っていなければなりません。
これを修正して正しいコードを表示するにはどうすればよいですか。
お使いのブラウザでは、HTTPとファイルプロトコルを使用してページ上に配信されるページが混在している可能性があります。もしそうであれば、深刻なセキュリティ上の問題になるでしょう。 –
あなたの前の投稿に書いたコメントはまだ適用されていると思います –