您当前的位置: 首页 > 网站编程 > ASP教程 > asp实现文件转移、压缩并直接存进数据库、直接读出并解压的完整代码

asp实现文件转移、压缩并直接存进数据库、直接读出并解压的完整代码

作者:不详 来源:网络 发布时间: 2011-10-22 16:18 点击:
转移: Set MyFileObject=Server.CreateObject(Scripting.FileSystemObject) MyFileObject.CopyFile server.MapPath(NewsFile\sSaveFileName),server.MapPath(sTitle\sSaveFileName)''第一个是源路径,第二是目标路径,可为虚拟路径和物理路径。 创建并写入.htm文件:

asp实现文件转移、压缩并直接存进数据库、直接读出并解压的完整代码

  转移:
  
  Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
  
  MyFileObject.CopyFile server.MapPath("NewsFile\"&sSaveFileName&""),server.MapPath(""&sTitle&"\"&sSaveFileName&"")''第一个是源路径,第二是目标路径,可为虚拟路径和物理路径。
  
  创建并写入.htm文件:
  
  Set oFSO=CreateObject("Scripting.FileSystemObject")
  
  Set oTextStream=oFSO.CreateTextFile(server.MapPath(""&sTitle&"")&"\"&sTitle&".htm",true)
  
  oTextStream.Write sContenta
  
  oTextStream.Close
  
  压缩文件:
  
  Dim CmdDirr,RarNameDirr,RarSourceDirr
  
  CmdDirr=Server.MapPath("dos")&"\"'cmd.exe和rar.exe存放的路径
  
  RarNameDirr=Server.MapPath("content")&"\"&sTitle&""'压缩成rar的名字和路径
  
  RarSourceDirr=Server.MapPath(""&sTitle&"")&""'要压缩的文件路径和名字
  
  Dim Cmd,Shell
  
  Cmd=CmdDirr&"cmd.exe/c"&CmdDirr&"Rar.exe a-ep1-o+"'-ep1-o+分别为两个开关命令具体可参考WinRar的帮助
  
  Cmd=Cmd&RarNameDirr&""&RarSourceDirr
  
  On Error Resume Next
  
  Set Shell=Server.CreateObject("WScript.Shell")
  
  If Err or IsObject(Shell)=False Then
  
  If Err Then Err.Clear
  
  Response.Write"没有操作Shell权限..."
  
  Response.End
  
  End If
  
  On Error Resume Next
  
  Shell.Run Cmd,1,True
  
  If Err Then
  
  Err.Clear
  
  Response.Write"压缩文件时出错,可能没有操作权限"
  
  Response.End
  
  End If
  
  将压缩包写进数据库:
  
  szFilepath=""&server.MapPath("content")&"/"&sTitle&".rar"'压缩包的地址和名字
  
  Set fso=Server.CreateObject("Scripting.FileSystemObject")
  
  If fso.FileExists(szFilepath)Then'判断压缩文件是否存在
  
  Set ffile=fso.GetFile(szFilepath)
  
  If ffile.size>0Then'压缩文件是否为空
  
  Dim objStream
  
  Set objStream=Server.CreateObject("ADODB.Stream")
  
  With objStream
  
  .Type=1
  
  .Mode=0
  
  .Open
  
  .LoadFromFile szFilepath
  
  ors("D_jdpath").AppendChunk objStream.Read'写进数据库
  
  .Close
  
  End With
  
  set objstream=nothing
  
  Else
  
  Response.Write"<script language='javascript'>alert('文件不存在!')</script>"
  
  End If
  
  Set ffile=Nothing
  
  end if
  
  从数据库中读出:
  
  szFPath=server.MapPath("./")&"\"&title&".rar"'压缩文件存放的地址
  
  Set fso=createObject("Scripting.FileSystemObject")
  
  IF fso.FileExists(szFPath)Then'判断压缩文件地址有没有冲突
  
  fso.DeleteFile(szFPath)
  
  End IF
  
  Dim objStream
  
  Set objStream=Server.CreateObject("ADODB.Stream")
  
  With objStream
  
  .Type=1
  
  .Mode=0
  
  .Open
  
  .Write(rs("D_jdpath"))'从数据库里直接读出来,这里的数据库字段类型在MYSQL中为IMG在ACCESS中为OLE
  
  .SaveToFile(szFPath)
  
  .Close
  
  End With
  
  Set objStream=Nothing
  
  解压文件:
  
  dim ylj,ywj,Mlpath,Shell,rarcomm,RetCode,cmd,comm,fso
  
  Mlpath=server.MapPath("dos")&"\"'存放RAR.EXE和CMD.EXE的路径
  
  ylj=Server.mappath("data")&"\"'解压文件后所放的路径
  
  ywj=Server.MapPath("data")&"\MMGG.rar"'要解压的RAR文件
  
  Set Shell=Server.CreateObject("WScript.Shell")
  
  rarcomm=Mlpath&"cmd.exe/c"&Mlpath&"rar.exe x-t-o+-p-"
  
  cmd=rarcomm&ywj&""&ylj
  
  RetCode=Shell.Run(cmd,1,False)
  
  完成!

分享到:
本文"asp实现文件转移、压缩并直接存进数据库、直接读出并解压的完整代码"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4