Ergebnis 1 bis 13 von 13
Like Tree2Likes
  • 1 Post By mrdynalink
  • 1 Post By mrdynalink

Thema: Dateiupload funktioniert nicht mit Edge

  1. #1
    mrdynalink ist offline Jungspund
    registriert
    06-10-2005
    Beiträge
    15

    Dateiupload funktioniert nicht mit Edge

    Hallo,

    ich verwende schon seit längerer Zeit folgende Methode, um Konfigurationsdateien auf einem Webserver zu hinterlegen. Jetzt fiel auf, dass diese Methode nicht mit dem Edge-Browser funktioniert.

    Hier der stark vereinfachte Code, der im Firefox und IE funktioniert:
    Code:
    function upload_test()
    {
    	// Http-Request-Element erzeugen
    	_XhrElem = new XMLHttpRequest();
    	
    	// Der Inhalt der Datei
    	var content = "Dies ist ein Test" ;
    	
    	var formData = new FormData();
    	var blob = new Blob([content], {type: 'plain/text'});
    	formData.append('file', blob, "testfile.txt");
    
    	// Datei "hochladen"
    	_XhrElem.open('post', "http://192.168.10.1/edit", true);
    	_XhrElem.send(formData);				
    }
    Der Code soll die Datei testfile.txt mit dem Inhalt "Dies ist ein Test" auf dem Webserver erzeugen. Der Webserver nimmt uploads ueber "edit" an. Mit dem Firefox und dem IE funktioniert das einwandfrei, der Edge tut es nicht. Im Edge-Debugger sehe ich unter Netzwerk zwar den POST-Transfer, er wird aber mit 0Byte angezeigt. Wie könnte ich den Edge dazu bewegen, die Datei auf den Webserver hochzuladen ? Ich würde auch jede andere Methode verwenden, Hauptsache ich kann irgendwie eine Datei mit dem Edge zum Webserver hochladen.

    Vielen Dank für Tipps
    Geändert von mikdoe (21-12-2017 um 18:28 Uhr) Grund: Gelöst gesetzt

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.707

    AW: Dateiupload funktioniert nicht mit Edge

    Und die Konsole im Edge enthält wirklich keine Meldungen?
    Nimmt der Browser denn Kontakt zum Serverscript auf oder klappt das auch schon nicht?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  3. #3
    mrdynalink ist offline Jungspund
    registriert
    06-10-2005
    Beiträge
    15

    AW: Dateiupload funktioniert nicht mit Edge

    Hallo mikdoe,

    die Konsole zeigt keine Fehlermeldungen und das Serverscript wird nicht erreicht (Habe dort eine Debug-Meldung eingebaut).

    Bin weiter auf der Suche ...
    Geändert von mrdynalink (21-12-2017 um 13:16 Uhr)

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.707

    AW: Dateiupload funktioniert nicht mit Edge

    Kannst du eine reduzierte Version mal irgendwo online stellen, damit man schauen mann?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  5. #5
    mrdynalink ist offline Jungspund
    registriert
    06-10-2005
    Beiträge
    15

    AW: Dateiupload funktioniert nicht mit Edge

    Vielen Dank fuer das Angebot ... ich war sehr froh, das jemand bereitwillig in mein Problem einsteigt !

    Habe den Fehler nach langer Suche gefunden. Der Fehler trat auf dem Webserver eines ESP8266 WiFi-Moduls auf. Dort wird das Paket "esp8266WebServer" eingesetzt. Diese Software geht davon aus, das es ein Header-Paar mit dem Schluesselwort "Content-Type" empfangen wird. Der Edge sendet jedoch "content-type" und das geht schief. Habe die Webserver Software erweitert, das jetzt beides geht:

    Code:
    ...
          if (headerName == "Content-Type" || headerName == "content-type" ){
            if (headerValue.startsWith("text/plain")){
              isForm = false;
            } else if (headerValue.startsWith("multipart/form-data")){
              boundaryStr = headerValue.substring(headerValue.indexOf('=')+1);
              isForm = true;
            }
          } else if (headerName == "Content-Length"){
            contentLength = headerValue.toInt();
          } else if (headerName == "Host"){
            _hostHeader = headerValue;
          }
    ...
    Viele liebe Gruesse ...
    mikdoe likes this.

  6. #6
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.707

    AW: Dateiupload funktioniert nicht mit Edge

    Zitat Zitat von mrdynalink Beitrag anzeigen
    Der Fehler trat auf dem Webserver eines ESP8266 WiFi-Moduls auf.
    Was genau baust du da? Hört sich interessant an.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  7. #7
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: Dateiupload funktioniert nicht mit Edge

    Zitat Zitat von mrdynalink Beitrag anzeigen
    Habe die Webserver Software erweitert, das jetzt beides geht
    https://www.w3.org/Protocols/rfc2616...c4.html#sec4.2

    du solltest also alles in down- oder up-case konvertieren und dann erst vergleichen.

    was mich wundert, die webserver software ist doch nicht in js geschrieben?
    bei ESP8266WebServer finde ich das hier:
    https://github.com/esp8266/Arduino/b...rsing.cpp#L161
    und dort wird case-insensitiv verglichen

  8. #8
    mrdynalink ist offline Jungspund
    registriert
    06-10-2005
    Beiträge
    15

    AW: Dateiupload funktioniert nicht mit Edge

    Oh ... jetzt bin ich leicht irritiert. Ich verwende die Arduino-IDE und habe, wie auf https://github.com/esp8266/Arduino unter "Installing with Boards Manager" beschrieben, die Release 2.3.0 in die IDE "eingeklingt". Habe es eben nochmal wiederholt, es wird dann wohl eine aeltere Version installiert. Dann ist hier wohl alles obsolete ... jetzt drifte ich aber komplett weg von Javascript ... Ach, irgendwann bringt mich das alles ins Grab

  9. #9
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    AW: Dateiupload funktioniert nicht mit Edge

    Zitat Zitat von mrdynalink Beitrag anzeigen
    die Release 2.3.0 in die IDE "eingeklingt".
    ja, dort ist es tatsächlich falsch:
    https://github.com/esp8266/Arduino/b...rsing.cpp#L157

  10. #10
    mrdynalink ist offline Jungspund
    registriert
    06-10-2005
    Beiträge
    15

    AW: Dateiupload funktioniert nicht mit Edge

    Habe jetzt durch Google die Release 2.4.0 RC2 gefunden und installiert. Ohne euren Tipp hätte ich noch lange mit der 2.3.0 weitergearbeitet

    @mikdoe: Wir haben einen STM32F7 mit dem ESP8266 WiFi-Fähig gemacht. Das ganze stellt einen CAN-Bus Controller dar, der CAN-Nachrichten numerisch und grafisch anzeigen kann.

    Nochmals vielen Dank !
    mrdynalink

  11. #11
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.707

    AW: Dateiupload funktioniert nicht mit Edge

    Zitat Zitat von mrdynalink Beitrag anzeigen
    @mikdoe: Wir haben einen STM32F7 mit dem ESP8266 WiFi-Fähig gemacht. Das ganze stellt einen CAN-Bus Controller dar, der CAN-Nachrichten numerisch und grafisch anzeigen kann.
    Eine Abkürzung mit zwei neuen erklärt. Grmpf
    Wofür braucht man das
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  12. #12
    mrdynalink ist offline Jungspund
    registriert
    06-10-2005
    Beiträge
    15

    AW: Dateiupload funktioniert nicht mit Edge

    Sorry ... es handelt sich um eine Elektronik, die Daten vom CAN-Bus (in PKW, LKW und Schiffen) liest und auf PC oder Smartphone anzeigt. Weiterhin können Parametrierungen der am Bus angeschlossenen Geräte vorgenommen werden. Der STM32F7 ist ein 32Bit-Controller-Prachtstück der Firma STM (leider auch schon wieder von Nachfolgemodellen überholt), der ESP8266 ist ein extrem günstiges WiFi-Modul der Firma Espressif (auch hier gibt es schon den Nachfolger STM32), dass einen eigenen Controller darstellt. Der Webserver läuft also auf dem ESP, nicht auf dem STM. Auch die Webseiten befinden sich auf dem ESP, der immerhin einen Speicher von 3MB dafür zur Verfügung stellt. Die beiden sind über SPI-Bus miteinander verbunden und können Daten mit 48MHz-Clockrate austauschen.

    Viele Grüße
    mrdynalink
    mikdoe likes this.

  13. #13
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.707

    AW: Dateiupload funktioniert nicht mit Edge

    Cool. Danke dir.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 07-11-2016, 20:16
  2. [FRAGE] Windows 10 mit EDGE als Internet Browser
    Von soristo im Forum Smalltalk
    Antworten: 8
    Letzter Beitrag: 04-09-2015, 20:51
  3. Edge.js: Run C# code from node.js
    Von j-l-n im Forum Node.js
    Antworten: 0
    Letzter Beitrag: 26-01-2014, 21:00
  4. Suche Edge 3D Algorhithmus...
    Von Cord Worthmann im Forum Allgemeines
    Antworten: 0
    Letzter Beitrag: 15-12-2005, 23:16
  5. Dateiupload
    Von kasimir83 im Forum Allgemeines
    Antworten: 8
    Letzter Beitrag: 16-12-2004, 16:12

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •