Jak przesłać plik binarny do przeglądarki

0

mamy sobie mały serwerek napisany w C (dev-c) który nasłuchuje na 80 porcie, jak przegladarka(ie,nn) sie polaczy to wysyla stosowny naglowek oraz zawartosc tablicy char. problem polega na tym jak wyslac plik graficzny (oczywiscie stosujemy odpowiedni naglowek image/jpeg). Serwer WWW zamieszczony w dziale C/C++ wysyla pliki tekstowe (HTML) a niestety jestem zbyt głupi aby goprzerobić Ludzie pomórzcie

0

ja to zrobiłem tak (w basicu)
funkcja cType(ext:string),string (zwraca odpowiedni content-type dla podanego rozszeżenia pliku)

[...]
case ".txt"
	ContentType="text/plain"
case ".htm"
case& ".html"
case& ".php"
case& ".asp"
case& ".js"
	ContentType="text/html"
case ".jpg"
case& ".jpeg"
	ContentType="image/jpeg"
case ".gif"
	ContentType="image/gif"
case ".bmp"
	ContentType="image/bmp"
[...]
ContentType += "\n"
Return ContentType /* zwraca pointer do stringu ContentType */

no i główna część serwera która wysyła header:

	filelen=len(f)
	buff ="HTTP/"+HttpVersion+" 200 OK\n"
	buff+="Server: IBpro server\n"
	buff+="Connection: close\n"
	buff+="Accept-Ranges: bytes\n"
	buff+="Content-Length:"+str$(filelen)+"\n"
	buff+=cType(ext)
	buff+="\n"
	send(aSocket, &buff, len(buff), 0)

HttpVersion jest kopiowane z tego co klient nam wysyła :)

buff+=cType(ext) - odwołanie do funkcji cType() - ext to string (rozszeżenie żądanego pliku : ".exe" albo "html" ...)

1 użytkowników online, w tym zalogowanych: 0, gości: 1