Forum: Mikrocontroller und Digitale Elektronik Webserver mit Dateiupload


von Tobias M. (Gast)


Lesenswert?

Hallo Leute,

im Netz und hier im Forum schwirren ja viele Beiträge zum Thema embedded 
Webserver wie z.B. der von Ulrich Radig herum, der ja auch TFTP 
implementiert hat.

Nun habe ich mich gefragt, ob es möglich ist einen Dateiupload zu 
realisieren, so dass der Benutzer im Webbrowser eine Datei auswählt (so 
wie hier: http://de.selfhtml.org/html/formulare/datei_upload.htm) und 
diese Datei dann z.B. im EEPROM des Mikrocontrollers abgelegt wird. Auf 
der Selfhtml-Seite steht ja, dass dazu ein CGI-Server laufen muss. Geht 
das auch einfacher bzw. hat schon mal jemand einen Datei-Upload 
realisiert?

Viele Grüße und Danke!

von Torsten S. (tse)


Lesenswert?

Nochmal nach nach vorne bringen.

Das interessiert mich auch. Der genaue Ablauf ist bestimmt nicht 
unwichtig.

von Peter (Gast)


Lesenswert?

es muss dafür kein cgi server laufen, das ganze ist ein "normale" 
Postrequest - In den RFCs für HTTPS steht alles nötige drin.

das ganze sollte nicht viel schwerer sein als ein GET-Request. Da ich 
selber auch noch nie http auf meines Atmels gemacht habe, kann ich 
leider nicht sagen ob dafür noch ausreichend resourcen vorhanden sind.

von pq (Gast)


Lesenswert?

CGI ist eine einfache Schnittstelle. Dahinter kann dann eine  kleines 
C-Programm stecken, das die Daten annimmt und zb. ins EEprom speichert.

von Purzel H. (hacky)


Lesenswert?

Ist machbar. Ich hab mal einen PUT impementiert, der ist etwas 
verschieden zu einem POST. Ich hab HTML als ASCII und Binaerdateien als 
ASCII-Hex hochgeladen. Ja. auch 200kByte am Stueck. Ah, ja. Der PUT 
hatte die Groesse im Header.

von Simon (Gast)


Lesenswert?

Würde mich auch für die Implementierung interessieren. PUT würde voll 
ausreichen, weil die Dateien unter 100kB groß sind.
Würde gerne den Radig Server verwenden, bei dem man dann über die 
Weboberfläche über PUT dateien auf die SD-Karte (BZW. dem EEPROM) 
schreiben kann.
Hat hier nicht jemand bereits eine Lösung und einen greifbaren Quellcode 
zu Hand? Wäre super!

mfg Simon

von Tobias M. (Gast)


Lesenswert?

Ich habe mit HTTP POST mal etwas herumprobiert, allerdings macht mir 
multipart/form-data etwas Probleme -> Der Header kommt nur bis zum 
Eintrag
"boundary" an - das wars dann. Muss man dann vom Server aus eine art 
Acknowledge an den Clienten senden, damit die anderen Teile übertragen 
werden?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.