[Webserver] Image an einen Browser senden

Für allgemeine Fragen zur Programmierung mit PureBasic.
es_91
Beiträge: 411
Registriert: 25.01.2011 04:48

[Webserver] Image an einen Browser senden

Beitrag 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?
Benutzeravatar
_sivizius
Beiträge: 98
Registriert: 23.10.2013 15:21

Re: [Webserver] Image an einen Browser senden

Beitrag von _sivizius »

Bilder können auch \0 enthalten, Strings nicht. Sende alles mit SendNetworkData(client, *buffer, *length). Achte auf den mime-type
Benutzeravatar
Kiffi
Beiträge: 10725
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: [Webserver] Image an einen Browser senden

Beitrag 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
a²+b²=mc²
es_91
Beiträge: 411
Registriert: 25.01.2011 04:48

Re: [Webserver] Image an einen Browser senden

Beitrag von es_91 »

Vielen Dank. Ich schau mir den Atomic Web Server an.
Antworten