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!
Nochmal nach nach vorne bringen. Das interessiert mich auch. Der genaue Ablauf ist bestimmt nicht unwichtig.
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.
CGI ist eine einfache Schnittstelle. Dahinter kann dann eine kleines C-Programm stecken, das die Daten annimmt und zb. ins EEprom speichert.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.