谁能写一个js读取zip和rar压缩文件中内容的代码,就是我用js 可以获取到压缩文件中的文件,图片之类的东西,最好是还能一定程度上过滤病毒,木马之类。

解决方案 »

  1.   

    js可以写个类似QQ的东西
    不是很难,你可以试一下
      

  2.   

    这真有点勉为其难了。因为与VBS相比,JS无法“冻结”下文语句执行,也不支持二进制—图片等无法读取。
    实例:在“D:”下放一个文本文件的ARA(或者ZIP)压缩文件“1.rar”,那么 ——<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <textarea id="txt" style="width:500px;height:300px"></textarea>
    <script type=text/javascript>
    function openRAR(path, type){
         var shell = new ActiveXObject("Wscript.Shell");
         var paths = path.replace(/^(.*\\)(.*).[rar|zip]$/gi, "$1");
         var cmder = "WINRAR x -t -o+ -p- ";
         cmder = cmder + path + " "+ paths;
         shell.Run(cmder, true);
         shell.popup("您想查看该压缩文件吗?");
         shell= null;
         var fso = new ActiveXObject("Scripting.FileSystemObject");
         var forAppending = 1;
         var txt, str, pas = path.replace(/^(.*\.)(.*)$/g, "$1" + type);
         try{
              txt = fso.OpenTextFile(pas);
              str = txt.ReadAll();
              document.getElementById('txt').value = str;
         }catch(e){
              document.getElementById('txt').value = "还未解压完毕,请稍后刷新 ......";
         }finally{
              txt.close();
              fso = null;
         }
             
    }
    openRAR("D:\\1.rar", "txt");//注意:路径用绝对路径,并全部用双斜杠“\\”而部能用“\”。
    </script>
      

  3.   

    就直接给URL 还压缩什么呢?
      

  4.   

    那你还问什么呢?这种问题,如果客户提的,还可以原谅,因为允许他们无知。但你作为开发人员的话,就不要问这种问题了。不论是安全机制允不允许,还是JS做这个适不适合,这种要求本身就很多余和荒唐。RAR的内容,应在生成RAR前就统计存在,哪有生成RAR后再解压显示的?
      

  5.   

    你可以是与XMLHttpRequest的responseBody 属性