各位兄弟姐妹,大家好,最近我在做的一个项目中,当用户点击上传文件中的“浏览...”按钮时,在用户选取完一个文件进行上传时,我想让JS读取导入的这个二进制文件,将它的内容写到隐藏框,再传到服务器端,请问:该怎么办?必须这么做!说白了就是怎样用js读取二进制文件?

解决方案 »

  1.   

    你的想法只能在ie下实现,因为只有在ie下才可以使用fso进行文件操作,但并不能保证一定就可以,因为有安全限制
      

  2.   

    错了,fso不能操作二进制文件需要adodb.stream
      

  3.   

    从网上查了下adodb.stream若要运行跟注册表中这个位置的值有关系
    ----网上资料-------------------
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX  Compatibility\{00000566-0000-0010-8000-00AA006D2EA4}修改值为0即可!如果要使你的计算机不受 利用adodb.stream一类的木马的影响请修改此值为400!
    -------------------------------
    有个系统补丁已经把这个位置的值改成400了,估计即使你写出了程序在80%的机器上也无法运行,除非客户端是一台任人蹂躏的肉鸡
      

  4.   

    是的,我也试过adodb.stream,但这个是绝对不行的!
      

  5.   

    用js估计没戏,js是在沙箱中运行的不可能让你访问本地文件的
      

  6.   

    用Ajax,在服务器端读取,也就是先上传,后写入隐藏框
      

  7.   

    JS在浏览器默认安全等级下肯定不行啦,要不然谁敢看网页呀,一看网页自己的东西全被传走了。你看看web迅雷之类的软件想用浏览器访问用户本地硬盘都是要用户装控件的,可见只用JS是没法直接读取的。