比如代码:
var s = new ActiveXObject("ADODB.Stream"); 
s.Open(); 
s.Type = 1; 
s.LoadFromFile("e:\\1.jpg");
var ch = s.Read();
s.Close();
alert(typeof(ch));// 弹出unknown
for(var i in ch){
  alert(i);//没有弹出任何属性信息
}
alert(ch[0]);//报错:0为空或不是对象请问要如何操作代码里的这个ch,才能得到二进制数据呢?
我通过ie8的开发人员工具,可以看得到ch是一个数组,可是如何在js里得到这个数组呢?使用VBScript操作的代码就不要帖出来了,谢谢大家

解决方案 »

  1.   

    http://guangcai.javaeye.com/blog/523548看看这个
    虽然是非标准的方法标准方法在IE9,FireFox3.6,Chrome5以上有效
    引入了FileReader类
    但是还是只提供了有限的方法,不提供直接读取路径
    必须要依靠html file控间。具体可以参照
    http://www.cnbeta.com/articles/98671.htm
      

  2.   

    var s = new ActiveXObject("ADODB.Stream"); 
    s.Open(); 
    s.Type = 1; 
    s.LoadFromFile("e:\\1.jpg");
    var ch = s.Read();
    s.Close();
    alert(typeof(ch));// 弹出unknown
    ch = eval(ch);//试试看
    for(var i in ch){
      alert(i);//没有弹出任何属性信息
    }
    alert(ch[0]);//报错:0为空或不是对象
      

  3.   

    eval(ch)报类型不匹配的错误
      

  4.   

    你说的是读取文本类型的文件,我要读取二进制文件
    比如jpg文件
      

  5.   

    只是觉得,既然可以读取到文件内容,应该就能显示出来
    而且在IE8的开发人员工具里也能看到内容,就是没办法读取出来另外,我研究这个的目的,就是想用js读取文件,并通过提交byte数组,来实现上传文件的目的呵呵
      

  6.   

    可以借用一下msxml2.domdocument
    var s = new ActiveXObject("ADODB.Stream"); 
    s.Open(); 
    s.Type = 1; 
    s.LoadFromFile("c:\\temp\\temp.jpg");
    var ch = s.Read();
    s.Close();var buffer = [];with (new ActiveXObject("MSXML2.DOMDocument").createElement("node")) {
    //dataType = "bin.base64";
    dataType = "bin.hex";
    nodeTypedValue = ch;
    var hex = text;
    hex.replace(/../g, function($0) {
    buffer.push(parseInt($0, 16));
    });
    }alert(buffer.join("-"));
      

  7.   

    var s = new ActiveXObject("ADODB.Stream"); 
    s.Open(); 
    s.Type = 1; 
    s.LoadFromFile("c:\\temp\\temp.jpg");
    var ch = s.Read();
    s.Close();var buffer = [];with (new ActiveXObject("MSXML2.DOMDocument").createElement("node")) {
    //dataType = "bin.base64";
    dataType = "bin.hex";
    nodeTypedValue = ch;
    var hex = text;
    hex.replace(/../g, function($0) {
    buffer.push(parseInt($0, 16));
    });
    }alert(buffer.join("-"));
      

  8.   

    zswang真的非常非常强大,能说说原理吗?
    为什么DOMDocument可以读取?
      

  9.   

    以前处理xmlhttp.responseBody二进制数据的时候碰到过这类问题。详细的资料得查msdn了。