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