Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我可以使用FileSystemObjects来读取和写入客户端二进制文件,而不能读取和发送到服务器?_C#_Javascript_Vbscript_Binary Data_Filesystemobject - Fatal编程技术网

C# 为什么我可以使用FileSystemObjects来读取和写入客户端二进制文件,而不能读取和发送到服务器?

C# 为什么我可以使用FileSystemObjects来读取和写入客户端二进制文件,而不能读取和发送到服务器?,c#,javascript,vbscript,binary-data,filesystemobject,C#,Javascript,Vbscript,Binary Data,Filesystemobject,我以以下方式创建了一个二进制文件(以确保所有可能的字节值都在二进制文件中): 在IE中的javascript中,使用文件系统对象时,复制文件(读取文件,然后将其写回)工作正常: var fso = new ActiveXObject("Scripting.FileSystemObject"); var from = fso.OpenTextFile(fileToRead, 1, 0); // read, ASCII (-1 for unicode) var to = fso.CreateText

我以以下方式创建了一个二进制文件(以确保所有可能的字节值都在二进制文件中):

在IE中的javascript中,使用
文件系统对象时,复制文件(读取文件,然后将其写回)工作正常:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var from = fso.OpenTextFile(fileToRead, 1, 0); // read, ASCII (-1 for unicode)
var to = fso.CreateTextFile(fileToWriteTo, true, false); 
while (!from.AtEndOfStream) {
    to.Write(from.Read(1));
}
from.Close();
to.Close();
当我读取输出的二进制文件时,我得到00000000000000000010000010。。。等等

但尝试将其读入javascript似乎会导致读取失败:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var from = fso.OpenTextFile(fileToRead, 1, 0); 
var test = [];
while (!from.AtEndOfStream) {
    test.push(0xff & from.Read(1));  // make it a byte.
}
from.Close();
这导致测试在它的数组中有一堆0,和一些其他非零项,但大部分只有0

有人能解释一下为什么它对其中一个有效而对另一个无效吗?我需要做什么才能将值转换成javascript


顺便问一下,:

首先,您知道最终数组的长度是否与文件的长度相同吗

在不同的操作中尝试阅读和“推送”,如:

...  
Test2 = from.Read(1));  
// Possibly display value of Test2 as string  
test.push(Test2);  
...  

此外,您还可以对文本数据进行测试,看看是否是文件/数据的二进制性质导致了问题

如何读取并转换为十六进制?
var fso = new ActiveXObject("Scripting.FileSystemObject");
var from = fso.OpenTextFile(fileToRead, 1, 0); 
var test = [];
while (!from.AtEndOfStream) {
    test.push(0xff & from.Read(1));  // make it a byte.
}
from.Close();
...  
Test2 = from.Read(1));  
// Possibly display value of Test2 as string  
test.push(Test2);  
...