Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

【转】下载网络文件的通用函数,适合客户端更新

时 间:2012-12-26 13:13:21
作 者:杏林求真   ID:24722  城市:合肥
摘 要:如题
正 文:

'===========================================================

'-函数名称:    URLDownloadFile_AdoStream (用ADO流对象的方法)
'-功能描述:    下载网络上的文件
'
'-输入参数:    strURL ............ 必需,网络文件的URL。如:"http://86.83.188.1/AB.txt"
'              strLocalFileName .. 必需,本地保存文件名,必须包含路径。 如:"D:\NEWAB.TXT"
'
'-返回参数:    成功下载返回:TRUE, 否则返回:FALSE
'
'-使用示例:    URLDownloadFile_AdoStream "http://86.83.188.1/AB.txt", "D:\Dowdload\NewAB.TXT"
' URLDownloadFile_AdoStream “http://www.xixivi.com/attachments/month_1001/42010121223423.mp3","毕业.mp3"
'
'-作       者:    鱼儿游游
'-创建日期:    2011.05.19
'============================================================

Public Function URLDownloadFile_AdoStream(strURL As String, strLocalFileName As String) As Boolean
On Error GoTo Err_Handler
    Dim oHttp   As Object
    Dim oStream As Object
    URLDownloadFile_AdoStream = False                   '返回值初始化。
    Set oHttp = CreateObject("Microsoft.XMLHTTP")       '定义XMLHTTP对象。这样的方法,不用引用运行库。
    oHttp.Open "GET", strURL, False                     '打开与服务端的连接。
    oHttp.send                                          '发送指令
    If oHttp.ReadyState = 4 Then                        '检查服务器返回在处理请求时的进展状况:4__表示文档已经解析完毕,客户端可以接受返回消息。
        If oHttp.Status = 200 Then                      '网络上存在指定的文件。
            Set oStream = CreateObject("ADODB.Stream")  '定义Stream对象。
            oStream.Type = 1                            '返回的数据类型:二进制
            oStream.Open                                '打开对象。
            oStream.write oHttp.responsebody            '将指定的数据装入对象中。
            oStream.savetofile strLocalFileName, 2      '如文件存在,直接覆盖。
            URLDownloadFile_AdoStream = True            '返回值为真:成功下载文件。
        ElseIf oHttp.Status = 404 Then               
            MsgBox "指定下载的文件不存在!", vbExclamation, "下载文件出错"
        End If
    End If
Exit_Handler:
    If oHttp.ReadyState = 4 And oHttp.Status = 200 Then oStream.Close
    Set oStream = Nothing  '释放Stream对象
    Set oHttp = Nothing    '释放XMLHTTP对象
    Exit Function
Err_Handler:
    URLDownloadFile_AdoStream = False
    MsgBox "错误代码:" & err.Number & vbCr & vbCr & "错误描述:" & err.Description, vbExclamation, "下载文件出错"
    Resume Exit_Handler
End Function



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助