使用XMLHTTP和ADODB.STREAM取得远程文件并保存到本地
类别: ASP教程
<%
\'取得远程文件并保存到本地
Function GetRemoteFiels(RemotePath, LocalPath, FileName)
Dim strBody
Dim FilePath
On Error Resume Next
\'取得流
strBody = GetBody(RemotePath)
\'取得保存的文件名
if Right(LocalPath, 1) <> "" then LocalPath = LocalPath & ""
FilePath = LocalPath & GetFileName(RemotePath, FileName)
\'保存文件
if SaveToFile(strBody, FilePath) = true and err.Number = 0 then
GetRemoteFiles = true
else
GetRemoteFiles = false
end if
End Function
\'远程获取内容
Function GetBody(url)
Dim Retrieval
\'建立XMLHTTP对象
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", url, False, "", ""
.Send
GetBody = .ResponseBody
End With
Set Retrieval = Nothing
End Function
\'重组文件名
Function GetFileName(RemotePath, FileName)
Dim arrTmp
Dim strFileExt
arrTmp = Split(RemotePath, ".")
strFileExt = arrTmp(UBound(arrTmp))
GetFileName = FileName & "." & strFileExt
End Function
\'将流内容保存为文件
Function SaveToFile(Stream, FilePath)
Dim objStream
On Error Resume Next
\'建立ADODB.Stream对象,必须要ADO 2.5以上版本
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 \'以二进制模式打开
objStream.Open
objstream.write Stream
objstream.SaveToFile FilePath, 2
objstream.Close()
\'关闭对象,释放资源
Set objstream = Nothing
if err.Number <> 0 then
SaveToFile = false
else
SaveToFile = true
end if
End Function
%>
\'取得远程文件并保存到本地
Function GetRemoteFiels(RemotePath, LocalPath, FileName)
Dim strBody
Dim FilePath
On Error Resume Next
\'取得流
strBody = GetBody(RemotePath)
\'取得保存的文件名
if Right(LocalPath, 1) <> "" then LocalPath = LocalPath & ""
FilePath = LocalPath & GetFileName(RemotePath, FileName)
\'保存文件
if SaveToFile(strBody, FilePath) = true and err.Number = 0 then
GetRemoteFiles = true
else
GetRemoteFiles = false
end if
End Function
\'远程获取内容
Function GetBody(url)
Dim Retrieval
\'建立XMLHTTP对象
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", url, False, "", ""
.Send
GetBody = .ResponseBody
End With
Set Retrieval = Nothing
End Function
\'重组文件名
Function GetFileName(RemotePath, FileName)
Dim arrTmp
Dim strFileExt
arrTmp = Split(RemotePath, ".")
strFileExt = arrTmp(UBound(arrTmp))
GetFileName = FileName & "." & strFileExt
End Function
\'将流内容保存为文件
Function SaveToFile(Stream, FilePath)
Dim objStream
On Error Resume Next
\'建立ADODB.Stream对象,必须要ADO 2.5以上版本
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 \'以二进制模式打开
objStream.Open
objstream.write Stream
objstream.SaveToFile FilePath, 2
objstream.Close()
\'关闭对象,释放资源
Set objstream = Nothing
if err.Number <> 0 then
SaveToFile = false
else
SaveToFile = true
end if
End Function
%>
-= 资 源 教 程 =-
文 章 搜 索