Java で単純な HTTP サーバーを作成しました。ブラウザーが画像ファイルの GET 要求を Web サーバーに送信するとき、.jpg としましょう。現在、私のブラウザは画像を正しく取得できません。
正確にどのヘッダー フィールドを設定する必要がありますか?
現在、Date、Server、Content-type、Content-Length、Connection があります。次を使用して長さを設定します。
fin = new FileInputStream(fileName);
contentLength = fin.available();
Content-Type は正しい MIME タイプに設定されているため、問題はありません。
次を使用してファイルデータを書き込みます。
public void sendFile (FileInputStream fin, DataOutputStream out)
{
byte[] buffer = new byte[1024];
int bytesRead;
int strCnt = 0;
try
{
int cnt = 0;
while ((bytesRead = fin.read(buffer)) != -1)
{
out.write(buffer, 0, bytesRead);
}
fin.close();
}
catch (IOException ex)
{
}
}
これは、私の Chrome ブラウザが受け取るものです
コンテンツ全体の長さをダウンロードしていないようです。
画像ファイルの実際のサイズは 2.73KB です。
欠落しているヘッダー フィールドがない場合、何が問題を引き起こしている可能性がありますか?