Seite 1 von 1

[Webserver] Image an einen Browser senden

Verfasst: 30.03.2014 12:43
von es_91
Hi.

Textdateien, also HTML, zu versenden ist mir mit diesem Header-Packet gelungen:

Code: Alles auswählen

EOL$ = chr(13)+chr(10)

HtmlFile=  "HTTP/1.1 200 OK"+EOL$
HtmlFile+  "Date: Wed, 07 Aug 1996 11:15:43 GMT"+EOL$
HtmlFile+  "Server: PureBasic Web Server 0.1b"+EOL$
HtmlFile+  "Content-Length: "+Str(Len(DatenZuSenden$))+EOL$
HtmlFile+  "Content-Type: text/html" +EOL$
HtmlFile+  DatenZuSenden$+Chr(0)

SendNetworkString(client, HtmlFile)
... doch wie verschicke ich Images? In meiner Webseite befindet sich ein .jpg <img />, nach dem der Browser fragt. Versende ich die Daten wie folgt ...

Code: Alles auswählen

If ReadFile(0, uri$)
  DatenZuSenden$ = Space(Lof(0))
  ReadData(0, @DatenZuSenden$, Lof(0))
  CloseFile(0)
EndIf

HtmlFile=  ""
HtmlFile=  "HTTP/1.1 200 OK"+EOL$
HtmlFile+  "Date: Wed, 07 Aug 1996 11:15:43 GMT"+EOL$
HtmlFile+  "Server: PureBasic Web Server 0.1b"+EOL$
HtmlFile+  "Content-Length: "+Str(Len(DatenZuSenden$))+EOL$
HtmlFile+  "Content-Type: image/jpeg" +EOL$
HtmlFile+  DatenZuSenden$+Chr(0)

SendNetworkString(client, HtmlFile)
... lädt der Browser das Bild nicht.

Was mache ich falsch?

Re: [Webserver] Image an einen Browser senden

Verfasst: 30.03.2014 13:10
von _sivizius
Bilder können auch \0 enthalten, Strings nicht. Sende alles mit SendNetworkData(client, *buffer, *length). Achte auf den mime-type

Re: [Webserver] Image an einen Browser senden

Verfasst: 30.03.2014 13:28
von Kiffi
im Ordner "[...]\PureBasic\Examples\Sources - Advanced\Atomic Web Server\" findest Du die Datei "Atomic Web Server.pb". Da kannst Du Dir anschauen, wie es gemacht wird.

Grüße ... Kiffi

Re: [Webserver] Image an einen Browser senden

Verfasst: 30.03.2014 13:33
von es_91
Vielen Dank. Ich schau mir den Atomic Web Server an.