用ASP在线压缩与解压缩

    文章来源:万象互联 更新时间:2012-11-5 20:21:01
分享:

在上传与下载文件的过程中,传输时间是关键,这就要求有较快的传输速度。在传输速度固定不变或是上下变动不大的情况下,尽量减小传输文件的体积,是一个可行的办法:上传文件的时候,先将要上传的文件用WINRAR压缩,上传成功后在网站内通过程序实现解压缩;下载文件的时候,先将要下载的文件在网站内通过程序实现压缩然后再下载

程序代码中的关键之处就是用Server.CreateObject("Wscript.Shell")来执行CMD.EXE,CMD.EXE运行RAR.EXE通过WINRAR的命令来执行解压缩文件与压缩文件的。所以要使用此功能,需要开启相关组件!

三、程序清单
asp压缩代码
ZIP.ASP程序清单

<%
'main文件夹中包含cmd.exe rar.exe 例如:要压缩的文件(*.mdb)
'压缩后的存放目录为main\data.rar
on error resume next
unzip_path=Server.mappath("main")&"\"
Set WshShell = server.CreateObject("Wscript.Shell")
IsSuccess = WshShell.Run ("winrar a "&unzip_path&"data
"&unzip_path&"*.mdb",1, False)
'WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件...> <@列表文件...>
<解压路径\>
'命令: A - 添加到压缩文件中
if IsSuccess = 0 Then
Response.write " 命令成功执行!"    'asp压缩成功提示
else
Response.write " 命令执行失败!权限不够或者该程序无法运行"    'asp压缩权限报错
end if
if err.number <> 0 then
Response.Write "<p>错误号码:" & Err.number    'asp压缩报错
Response.Write "<p>原因:" & Err.description    'asp压缩报错
Response.Write "<p>错误来源:" & Err.Source    'asp压缩报错
Response.Write
end if
%>

asp解压代码

UNZIP.ASP程序清单:

<%
'main文件夹中包含cmd.exe rar.exe 要解压缩的文件(*.rar)
'解压缩后的存放目录为main
on error resume next
unzip_path=Server.mappath("main")&"\"
Set WshShell = server.CreateObject("Wscript.Shell")
IsSuccess = WshShell.Run ("winrar x -r -o+ "&unzip_path&"*.rar
"&unzip_path&"",1, False)
'WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件...> <@列表文件...>
<解压路径\>
'命令: X - 从压缩文件中全路径解压文件
'开关: -R - 连同子文件夹
'开关: -O+ - 覆盖已经存在的文件
'开关: -O- - 不覆盖已经存在的文件
if IsSuccess = 0 Then
Response.write " 命令成功执行!"    'asp解压成功提示
else
Response.write " 命令执行失败!权限不够或者该程序无法运行"    'asp解压权限报错
end if
if err.number <> 0 then
Response.Write "<p>错误号码:" & Err.number    'asp解压报错
Response.Write "<p>原因:" & Err.description    'asp解压报错
Response.Write "<p>错误来源:" & Err.Source    'asp解压报错
Response.Write
end if
%>

  本文通过使用RAR.EXE和 CMD.EXE这两个文件,在ASP编程中实现在线压缩与解压缩网站中的文件的功能。实现方法简单,程序代码少,可供实用编程时借鉴使用。尤其是在拥有自己的服务器的情况下极其实用和方便。以上程序在Windows2000Sever及IIS5.0下运行通过。

版权说明:本站原创文章,由SEO优化发表.
本文地址:https://www.hulian.top/zixun/post/5371.html
在线咨询
  • 在线时间
  • 8:00-21:00