ASP在线解压文件及收集gzip压缩的页面的方法
发布时间:2023-09-27 15:11:41 所属栏目:Asp教程 来源:
导读:有时我们需要在线解压缩文件,本文就介绍了使用7za程序和gzip进行在线解压缩文件的方法。
由于winrar的ming令行工具不支持zip格式的文件,所以我选择了7z的ming令行工具7za.exe,在百度搜索下就可以找到该程序。
由于winrar的ming令行工具不支持zip格式的文件,所以我选择了7z的ming令行工具7za.exe,在百度搜索下就可以找到该程序。
有时我们需要在线解压缩文件,本文就介绍了使用7za程序和gzip进行在线解压缩文件的方法。 由于winrar的ming令行工具不支持zip格式的文件,所以我选择了7z的ming令行工具7za.exe,在百度搜索下就可以找到该程序。 在使用下面的代码前把cmd.exe(windows文件夹下有)和7za.exe拷贝到asp程序目录。 代码(JScript格式) 时间关系,并没有写更多的容错以及返回值问题。 function unZip(file){ //在线解压zip函数 //by fisker (http://ifisker.com lionkay@gmail.com) var objFso=Server.CreateObject("scripting.FileSystemObject"); var objWshShell=Server.CreateObject("Wscript.Shell"); var zipFile=Server.MapPath(file); if(!objFso.FileExists(zipFile)) return false; var runcmd=Server.MapPath("cmd.exe")+" /c "+Server.MapPath("7za.exe")+" x "+zipFile+" -y -o"+Server.MapPath("./"); var RetCode = objWshShell.Run(runcmd,1,true); if(RetCode!=0)return false; delete objWshShell; delete objFso; } 关于gzip压缩页面的问题 思路:用ServerXMLHTTP组件下载页面,保存为*.zip文件,解压文件,读取文件。 代码(JScript格式) function getGzipPage(url){ //Gzip格式页面采集程序 //by fisker (http://ifisker.com lionkay@gmail.com) var fileStream; var xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP"); xmlHttp.open("GET",url,false); xmlHttp.send(null); fileStream=xmlHttp.responseBody; delete xmlHttp; var objStream = Server.CreateObject("ADOD"+"B.Stream"); objStream.Type = 1; objStream.Open(); objStream.write(fileStream); objStream.SaveToFile(Server.MapPath("tmp.html.zip"),2); objStream.Flush(); objStream.Close(); delete objStream; unZip("tmp.html.zip"); var str=ReadFile("tmp.html"); //ReadFile,deleteFile就是简单的文本读取和文件删除函数,未附代码 deleteFile("tmp.html.zip"); deleteFile("tmp.html"); return str; } (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐