ugrás a tartalomhoz

HTTP szerver által küldött kép protokoll formátuma

Popinjay · 2004. Dec. 16. (Cs), 01.11
Sziasztok!
Segítséget kérnék abban, hogy írtam egy alkalmazás részeként olyan programot(spéci szerver), mely lekezeli a HTTP kéréseket oly formában, ahogy az nekem kell, és visszaküldi amit akarok.
Egyet nem tudok megoldani, a kép kérésre a megfelelő pl.JPG,BMP,..visszaküldését,vagyis erre a korrekt választ:

GET /libr/picture/xxx.JPG HTTP/1.1
Accept *.*
Referer http://server
Accept/Langu........
....................

Aki tud segítsen, milyen formátumban, körítéssel, fejléccel, stb kell visszaküldeni a képet.Próbálkozásaim esetén a cliensen a kép mindíg üres kerettel jelenik meg.
A probléma szerver oldali.A kliens kérésére
ÉN összeállítom a választ egy programommal, ami tartalmazza természetesen azt a fejlécet, ami a MIME tipust is leírja. Elküldöm,visszaküldöm a GET kérésre a fejlécet(mikor, kitől, MIME tipus,stb..) a kliensnek:

HTTP/1.1 200 OK
Server: XXXXServer
Date: Sun, 07 Nov 2004 22:54:25 GMT
Connection: close
Content-type: image/jpeg
Content-Length: 60000
Accept-Ranges: bytes
name="/libr/picture/xxx.JPG"
binárisan a JPG file

utána a mondjuk JPG file-t binárisan. És a kliens(Explorer) oldalon nem értelmeződik, kép nem jelenik meg. Ennek a precíz protokolljára lennék kíváncsi,például mit kell a fejléc és a binárisan küldött kép közé tenni(lf,return???????stb) és a végén lezárni valamivel??????VAgy a képet kell máshogy, speciálisan küldeni???
A kliens más esetben megérti elküldött fejléceimet,HTML lapjaimat, csak a kép nem megy vissza.

Köszi
 
1

php manual:

Anonymous · 2004. Dec. 16. (Cs), 03.07
php manual:

<?php

// open the file in a binary mode
$name = ".\public\dev\img\ok.png";
$fp = fopen($name, 'rb');

// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// dump the picture and stop the script
fpassthru($fp);
exit;

?>
2

lehet hogy az előbb rosszul

Anonymous · 2004. Dec. 16. (Cs), 03.23
lehet hogy az előbb rosszul értelmeztem, te állítod elő a headert is?
mert akkor az ethereal a te barátod :)
emlékeim szerint nincs "name" header,
viszont a header és a tartalom között van egy üres sor.
de mondom legjobban akkor jársz ha megnézed hogy' csinálja az apache.
3

köszönöm

Popinjay · 2004. Dec. 16. (Cs), 03.51
köszönöm, az üres sor segített, működik