加入收藏 | 设为首页 | 会员中心 | 我要投稿 驾考网 (https://www.jiakaowang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

使用ASP可以轻松地实现文件解压和页面压缩方式的收集

发布时间:2023-11-03 11:18:33 所属栏目:Asp教程 来源:
导读:有时我们需要在线解压缩文件,本文就介绍了使用7za程序和gzip进行在线解压缩文件的方法。

由于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
    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 
    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;
}

(编辑:驾考网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章