MeXXi: Binärdatei-Upload mittels JScript und XML-HTTP Post-Request

Beitrag lesen

Ich möchte eine binäre Datei, deren Inhalt ich auslese und mit encodeURIComponent() kodiere, per Post-Request an ein PHP Script senden. Problem: Die Datei kommt nicht so an, wie ich sie sende. Hier der JScript-Code:

  
 var File = new ActiveXObject("Scripting.FileSystemObject");  
 f = File.GetFile(strFilename);  
 is = f.OpenAsTextStream(1,0);  
    var datDp = is.ReadAll();  
 datDp = encodeURIComponent(datDp);  
 is.Close();  
  
 var xml_http = new ActiveXObject("Microsoft.XMLHTTP");  
 xml_http.open("POST", "http://somehost/script.php?user="+strMail, true);  
 xml_http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  
 xml_http.onreadystatechange = function () {  
  if (xml_http.readyState == 4) {  
   DebugTrace("Uploading done. (responseText="+xml_http.responseText+")");  
  }  
 }  
 xml_http.send("datDp="+datDp);  

Wenn ich nun dieselbe Datei stattdessen mittels PHP und

  
<?php  
$fp = fopen($strFile, "r");  
while(!feof($fp))  
 echo rawurlencode(fread($fp, 1024));  
fclose($fp);  
?>  

lese, erhalte ich eine andere Kodierung als oben - obwohl es dieselbe Datei ist. Scheinbar besteht also entweder ein Unterschied zwischen encodeURIComponent() und rawurlencode() oder aber die Datei wird in JScript nicht korrekt eingelesen (OpenAsTextStream() - gibt es Alternativen?).

Für jede Hilfe dankbar...

Gruß MeXXi

--
ie:% fl:{ br:^ va:| ls:[ fo:| rl:? n4:( ss:} de:> js:| ch:? sh:) mo:| zu:}