您的位置:首页 > 数据库

文件转移后压缩并直接存进数据库后直接读出并解压完整代码

2007-12-21 09:42 906 查看
转移:
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)
这是我集中了大家所长的,拿出来回归社会!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐