| asp实现文件转移、压缩并直接存进数据库、直接读出并解压的完整代码 |
| 来源:
发布时间:2007-12-22 发布人:
浏览:
人次
字体:
[大
中
小]
|
|
转移: 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 > 0 Then '压缩文件是否为空 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) 完成!
| |
| |
|
|
|
|
| §最新评论:(评论内容只代表网友观点,与本站立场无关!) | |
|
|
|
|
| 注意:请勿在本站发布政治话题、色情及违反法律的内容。 |
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。 | |
|