-- 作者:admin
-- 发布时间:1/29/2004 8:03:00 PM
-- [转载]使用XMLHttp和ADODB.Stream取得远程文件并保存到本地
转自: 联讯浩天-技术站 http://www.lssky.net/Article_Show.asp?ArticleID=182 使用XMLHttp和ADODB.Stream取得远程文件并保存到本地 [ 作者:转至csdn 转贴自:本站原创 点击数:11 更新时间:2004-1-15 文章录入:hongxang ] <% '**************************************************************************** 'PageName:GetRemoteFiles.asp 'Function:Download the files to Server 'Author:xiaotian 'Last Modified at:2003-3-19 '**************************************************************************** '取得远程文件并保存到本地 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 %>
|