problematische Seite

hi @Robert B.

Wenn ich ein klassisches HTML <form> verwende, bekomme ich mit mit deinem binary/name+value nichts hochgeladen:

<form action="/cgi-bin/form.pl" method="post" enctype="binary/name+value">

Logisch: Der Browser kennt diesen Enctype nicht. Den musst Du Dir mit JS zusammenbauen und den Request mit AJAX feuern, siehe da

Was meinen Algorithmus für formdata betrifft, bin ich auf strstr() gekommen. Allerdings krieg ich übr die Pointerarithmetik falsch Längenangaben, ich mach dann mal ein Beispiel (oder was falsch).

MfG

PS: Guck Dir mal Transfer-Encoding: chunked an. Da ist der Response Body zerstückelt, aber es sind Längenangaben drin (in HEX), womit man die Chunks wieder exakt zusammensetzen kann. Der Algorithmus ist in der RFC beschrieben und recht einfach nachzubauen. Ein schönes Beispiel für einen Serializealgorithmus.

Der Schritt zur binären Serialisierung besteht nur darin, die Längenangaben mit dem Datentyp uint32_t zu machen, was sowohl mit pack "V", $len (Perl, PHP) als auch mit JS zu machen ist.

function gcc(){ var params = sampleform(0); params.unshift({"name":"cc","value":"1"}); var xhr = new XMLHttpRequest(); xhr.open('POST','/c.html'); xhr.setRequestHeader('Content-Type','binary/name+value'); throbber(true); xhr.onload = function(){ throbber(false); var res = JSON.parse(this.response); $("#out").html(xr( $("#tt").html(), {valeins:res.valeins, valzwei:res.valzwei, valdrei:res.valdrei}, true ) ); }; xhr.send( slice2binary(params) ); return false; }

die Funktionen sind in request.js

freiwillige Angabe, für jeden sichtbar
freiwillige Angabe, für jeden sichtbar
freiwillige Angabe, für jeden sichtbar

Vorschau (Nachricht wird im Forum „SELF-Forum“ erscheinen)

  • Keine Tag-Vorschläge verfügbar
  • keine Tags vergeben

abbrechen

068

c binary mode für stdin

  1. 0
    1. 0
    2. 0
      1. 0
        1. 0
          1. 0
        2. 0
          1. 0
            1. 0
              1. 0
                1. 0
      2. 0

        multipart/form-data

        1. 0
          1. 0
            1. 0
            2. 0
              1. 0
                1. 0
        2. 0
        3. 0
          1. 0
            1. 0
              1. 0
          2. 0
            1. 0
              1. 0
              2. 0
                1. 0
                  1. 0
                2. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                          1. -1
                            1. 0
                        2. 0
                3. 2
                  1. 0
                  2. 0
                  3. 0
                    1. 0
                      1. 0
                        1. 0
                        2. 2
                          1. 1
                            1. 0
                    2. 0
                      1. 0
                4. 0
  2. 0

    C Upload goßer Datenmengen

    1. 0
      1. 0
        1. 0
          1. 0
            1. 0
              1. 0
              2. 0

                Bug in PHP PHP/5.3.0 Upload

                1. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
            2. 0
            3. 0
    2. 2
      1. 4