bos.write("內容類型:?image/jpg\r\n。getBytes());
bos.write(("Content-Length:"+length+"\r\n ")。getBytes());
bos.write((“上次修改時間:?”+?新的?日期()。toGMTString()+"\r\n ")。getBytes());
bos.write("\r\n "。getBytes());//響應頭的結束和響應體bos的開始直接是socket.getOutputStream()。其他代碼和妳的壹樣。最新版本的FF測試正常顯示jpg圖片。
測試的完整文件
進口?Java . io . *;
進口?Java . net . *;
進口?Java . util . date;
公共?班級?SocketHttp{
公共?靜電?作廢?main(字符串?args[])拋出?異常{
新的?SocketHttp()。test();
}
公共?作廢?test()拋出?異常{
ServerSocket?ser=new?server socket(8080);
新的?WriteThread(ser.accept())。start();
}
班級?WriteThread?延伸?線程{
公共?WriteThread(Socket?sk){
this.sk = sk
}
插座?sk;
公共?作廢?run(){
嘗試{
OutputStream?博斯。=?sk . get output stream();//首先有圖。
文件?img?=?新的?file(" imag 0693 _ resize . jpg ");
InputStream?是嗎?=?新的?file inputstream(img);
龍?長度?=?is . available();//響應狀態行
Bos . write(" HTTP/1.1?200?好的\r\n。getBytes());//響應標頭開始
bos.write("內容類型:?image/jpg\r\n。getBytes());
bos.write(("Content-Length:"+length+"\r\n ")。getBytes());
bos.write((“上次修改時間:?”+?新的?日期()。toGMTString()+"\r\n ")。getBytes());
bos.write("\r\n "。getBytes());//響應頭結束,響應體開始。
Bos . flush();
int?len
byte[]?緩沖?=?新的?byte[1024];
什麽時候?((len?=?is.read(buffer))?& gt?0)?{
bos.write(緩沖區,0,?len);
}
Bos . flush();
bos.write("\r\n\r\n "。getBytes());//響應正文結束
Bos . close();
}catch(異常?例如){
ex . printstacktrace();
}
}
}
}