下载文件-VB6

下载文件-VB6,vb6,download,Vb6,Download,是否有人知道如何下载文件(无需打开网页)并将其保存到Visual Basic 6.0中的目录中?我建议使用您需要使用Internet传输控件的,有关示例,请参阅。如果您需要指定凭据,也可以签出。如果您只想使用代码(没有Internet传输控制),那么有一篇非常好的使用URLDownloadToFile API调用的操作文章 从文章中: URLDownloadToFile API可用 在所有版本的Windows上 操作系统(Win3除外, WinNT3.x)。通过传递远程文件 名称以及本地文件路径

是否有人知道如何下载文件(无需打开网页)并将其保存到Visual Basic 6.0中的目录中?

我建议使用您需要使用Internet传输控件的,有关示例,请参阅。如果您需要指定凭据,也可以签出。

如果您只想使用代码(没有Internet传输控制),那么有一篇非常好的使用URLDownloadToFile API调用的操作文章

从文章中:

URLDownloadToFile API可用 在所有版本的Windows上 操作系统(Win3除外, WinNT3.x)。通过传递远程文件 名称以及本地文件路径和名称, API将下载 指定的文件,将其保存为 目标名称。该函数与 所有文件类型-纯文本、图像、, html、mpg、wav和zip文件等。 不修改常规或 关注正在下载的文件, 也没有任何明显的尺寸 限制或限制

仅供参考-在Windows7上测试时,它只会返回缓存的版本,因此我必须使用文章中提到的额外函数来首先清除它(这是有效的)


然后首先用目标URL调用上面的函数,以清除缓存。

我不喜欢Internet传输控制,因为它是同步的。一旦开始下载,应用程序将无响应,直到文件下载或抛出错误。有很多使用WININETDLL编写异步方法的好例子。这不是一件小事,但它也很能干。是stackoverflow的一个示例。

您不需要API调用,也不需要Internet传输控制。只需使用本机VB6代码以简单的方式完成即可。下面是一个非常好的示例代码。

试试这个:

My.Computer.Network.DownloadFile (*File to download*, *What to save it as*)
您必须在“保存为什么”中为其指定一个文件名:

例如:

 My.Computer.Network.DownloadFile _
("http://www.cohowinery.com/downloads/WineList.txt", _
"C:\Documents and Settings\All Users\Documents\WineList.txt")
试试这个

Sub DownloadFile(url, path)

   Dim objReq
   Dim objStream

   Set objReq = CreateObject("MSXML2.XMLHTTP")
   objReq.Open "GET", url, False
   objReq.send

   If objReq.Status = 200 Then
       Set objStream = CreateObject("ADODB.Stream")
       objStream.Open
       objStream.Type = 1

       objStream.Write objReq.ResponseBody
       objStream.Position = 0

       objStream.SaveToFile path, 2
       objStream.Close
       Set objStream = Nothing
   End If

   Set objReq = Nothing

End Sub

只有4票的81个Qs???你不需要在帖子中签名-你的用户卡会自动添加。阅读了解更多详细信息。在VB6中进行异步下载非常简单,并且不需要API调用。看到我的答案了吗?有件事我以前从未见过。我有一个完整的类使用WININET库,所以如果我需要在VB中再次使用它,我可能会坚持使用它,但有其他选择总是好的。如果Internet explorer的offline属性为true,这将不起作用。您将得到一个“未找到文件”错误。您不需要API调用,也不需要Internet传输控制。只需使用本机VB6代码以简单的方式完成即可+非常感谢您向我介绍这些API调用。这看起来像VB.NET,问题是关于VB6的。我不知道为什么在这个答案上没有分数。这是realy在没有inet控制的情况下工作的唯一答案。谢谢你的帮助。
 My.Computer.Network.DownloadFile _
("http://www.cohowinery.com/downloads/WineList.txt", _
"C:\Documents and Settings\All Users\Documents\WineList.txt")
Sub DownloadFile(url, path)

   Dim objReq
   Dim objStream

   Set objReq = CreateObject("MSXML2.XMLHTTP")
   objReq.Open "GET", url, False
   objReq.send

   If objReq.Status = 200 Then
       Set objStream = CreateObject("ADODB.Stream")
       objStream.Open
       objStream.Type = 1

       objStream.Write objReq.ResponseBody
       objStream.Position = 0

       objStream.SaveToFile path, 2
       objStream.Close
       Set objStream = Nothing
   End If

   Set objReq = Nothing

End Sub