【转】下载网络文件的通用函数,适合客户端更新-杏林求真
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


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

发表时间:2012/12/26 13:13:21 评论(4) 浏览(6697)  评论 | 加入收藏 | 复制
   
摘 要:如题
正 文:

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

'-函数名称:    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群(群号:198465573)
 
 相关文章
一个用于验证18位身份证号码有效性的通用函数  【红尘如烟  2010/8/25】
【access源码通用函数】在窗体中实现动态行号(连续序号)  【红尘如烟  2010/12/1】
VB局域网类共享文件夹的上传和下载  【qi  2011/11/21】
access开发平台--上传下载/添加附件的示例  【风行  2012/4/19】
【access源码示例】上传图片或附件到指定文件夹或共享文件夹的通...  【金宇  2012/6/1】
常见问答
技术分类
相关资源
文章搜索
关于作者

杏林求真

文章分类

文章存档

友情链接