Problem mit Bilddatein an Socket senden
-
Hallo Board
Ich muß im Rahmen eines C++ Kurses einen kleinen Webserver in C++ schreiben.
Nun habe ich das Problem das ich zwar Text( html ) Files an den Client ( normaler Browser ) schicken kann, allerdings keine Bilddatein wie jpg oder gifmein Code sieht so aus ...
FILE* datei; char* buffer; datei = fopen("C:\\test.html","r") while(!feof(datei)) { buffer = new char[512]; fgets(buffer,512,datei) send(Client,buffer,strlen(buffer),0) delete buffer; } fclose(datei);Kann mir jemand mir jemand erklären ( für Anfänger ) wie das für eine Bilddatei aussehen müßte ?
Gruss StefanH
-
Hallo,
schau/such mal hier im Forum. Es gab einen beitrag zu Herunterladen eines Bildes. Vielleicht hilft dir der weiter.
Turbobrain
-
Hast du auch den richtigen HTTP-Header vorher gesendet? daran könnte es vielleciht liegen, dass der Browser die Datei ordnungsgemäs empfängt, aber nihct weiß, was das für Daten sind
-
Wie http header?!
wie soll das dann aussehen?! was muss da dann stehen?!
-
Ne, HTTP Header habe ich keinen gesendet. Aber ich werde es mal damit versuchen.
-
Also am HTTP Header dürfte es nicht gelegen sein.
Ich habe vor dem File das gesendetchar buffer[512]; strcpy(buffer,"HTTP/1.1 200 OK\r\n"); send(client,buffer,strlen(buffer),0); strcpy(buffer,"Server: Test Webserver 0.1.0\r\n"); send(client,buffer,strlen(buffer),0); strcpy(buffer,"Content-Type: image/jpeg\r\n"); send(client,buffer,strlen(buffer),0); strcpy(buffer,"\r\n"); send(client,buffer,strlen(buffer),0);Leider kommt wieder nur ein rotes X

-
Hi,
versuch mal das Bild-File binär zu öffnen, dann müsste es gehen.
Ciao charlie