nxclass
Goto Top

Fileupload mit HttpRequest

Hallo,

ich habe mir bereits Funktionen / Objekte geschrieben die mir die normalen Formular Elemente auslesen und an anderer Stelle per HttpRequest absenden.

Jetzt fehlt mir allerdings nur noch die Möglichkeit auch eine Datei / Dateiinhalt mit abzusenden.

z.Z. benutze ich diesen Code zum erstellen / senden der Anfrage:
var oXHReq = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");  
...
oXHReq.open("POST", sUrl, true);  
oXHReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
oXHReq.setRequestHeader("Content-length", sParam.length);  
oXHReq.setRequestHeader("Connection", "close");  
...
oXHReq.send(sParam);

Wie müsste ich das abändern? (der Content-type sollte dann natürlich 'multipart/form-data' sein)

Wie komme ich an die Daten einer Datei auf dem Client?

schon mal vielen Dank für Eure Antworten!

Content-ID: 117271

Url: https://administrator.de/contentid/117271

Ausgedruckt am: 21.11.2024 um 17:11 Uhr

dog
dog 02.06.2009 um 16:47:35 Uhr
Goto Top
Wie komme ich an die Daten einer Datei auf dem Client?

Haha, du bist mir ein Scherzkeks.
Denkst du ein Browser würde dir den Datenklau so leicht machen?

Es gibt in HTML nur ein Element was auf lokale Daten zugreifen kann (von Plugins mal abgesehen) und das ist <input type="file" /> und dessen Wert darf nur von einem Benutzer gesetzt werden.

Also: Per AJAX Daten hochzuladen geht nicht. Wenn du es unbedingt asynchron haben willst musst du einen iframe benutzen.

Grüße

Max
nxclass
nxclass 02.06.2009 um 19:54:47 Uhr
Goto Top
habe es mir schon fasst gedacht ..

Und eine (im XMLHttpRequest Objekt) integrierte Funktion kann das auch nicht ? - schließlich wird in einem normalen Formular mit dem type="file" auch nur vom Browser die Daten ausgelesen und gesendet.

PS: sorry für das:
"Wie komme ich an die Daten einer Datei auf dem Client?"

face-wink
dog
dog 02.06.2009 um 23:14:40 Uhr
Goto Top
Nein, mit XMLHttpRequest geht es nicht.
Entweder du benutzt iframes oder ein Flash-Plugin (wie z.b. flickr) für den Upload.
nxclass
nxclass 03.06.2009 um 08:14:05 Uhr
Goto Top
OK,
da währe der javascript Part also 'abgehackt'.
Obwohl ich kein Fan von Flash (und javascript) bin werde ich mir das 'flickr' mal anschauen.

vielen Dank