Est-ce que quelqu'un sait comment télécharger un fichier (sans ouvrir une page Web), et l'enregistrer dans un répertoire dans Visual Basic 6.0?Télécharger le fichier - VB6
Répondre
Si vous voulez le faire avec du code seulement (pas de contrôle de transfert Internet), VBNet.mvps.org a un très bon article de procédure qui utilise l'appel API URLDownloadToFile.
de l'article:
L'API est disponible URLDownloadToFile sur toutes les versions du système d'exploitation Windows (sauf Win3, WinNT3.x). En transmettant le fichier distant et le chemin d'accès et le nom du fichier local, , l'API télécharge les bits du fichier spécifié en les enregistrant sous le nom de cible . La fonction fonctionne avec tous les types de fichiers - texte brut, images, html, mpg, wav et les fichiers zip, etc. sans modification à la préoccupation de routine ou pour le fichier en cours de téléchargement, ni aucune taille apparente restriction ou limitation.
Private Declare Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long
Private Const ERROR_SUCCESS As Long = 0
Private Const BINDF_GETNEWESTVERSION As Long = &H10
Private Const INTERNET_FLAG_RELOAD As Long = &H80000000
Public Function DownloadFile(sSourceUrl As String, _
sLocalFile As String) As Boolean
//'Download the file. BINDF_GETNEWESTVERSION forces
//'the API to download from the specified source.
//'Passing 0& as dwReserved causes the locally-cached
//'copy to be downloaded, if available. If the API
//'returns ERROR_SUCCESS (0), DownloadFile returns True.
DownloadFile = URLDownloadToFile(0&, _
sSourceUrl, _
sLocalFile, _
BINDF_GETNEWESTVERSION, _
0&) = ERROR_SUCCESS
End Function
Pour votre information - dans les tests sous Windows 7, il ne reviendrait la version en cache, donc je devais utiliser la fonction supplémentaire mentionné dans l'article pour l'effacer d'abord (et qui a travaillé). Ensuite, appelez simplement la fonction ci-dessus avec l'URL de destination en premier pour effacer le cache.
Vous ** n'avez pas besoin d'appels d'API **, vous n'avez pas besoin du contrôle Internet Transfer **. Faites-le simplement, en utilisant le code VB6 natif. http://visualstudiomagazine.com/articles/2008/03/27/simple-asynchronous-downloads.aspx – MarkJ
+1, merci beaucoup de me présenter ces appels d'API. –
Je suggère d'utiliser la Internet Transfer Control
Vous devez utiliser le contrôle de transfert Internet, voir http://www.vb-helper.com/howto_get_file_from_web.html pour un échantillon. Si vous devez spécifier des informations d'identification, consultez aussi http://support.microsoft.com/kb/173264.
Je n'aime pas le contrôle de transfert Internet car il est synchrone. Une fois que vous démarrez un téléchargement, votre application ne répond plus jusqu'à ce que le fichier soit téléchargé ou qu'une erreur soit générée. Il existe de nombreux exemples d'utilisation de la DLL WININET pour écrire des méthodes asynchrones. Ce n'est pas trivial, mais c'est aussi très faisable. Here est un exemple de stackoverflow.
C'est ** trivial de faire des téléchargements asynchrones dans VB6 et il ne nécessite pas d'appels d'API. Voir ma réponse http://stackoverflow.com/questions/1976152/download-file-vb6/1979417#1979417 – MarkJ
Vous n'avez pas besoin d'appels API, vous n'avez pas besoin du contrôle Internet Transfer. Faites-le simplement, en utilisant le code VB6 natif. Voici un excellent article by Karl Peterson avec un exemple de code.
Il y avait quelque chose que je n'avais jamais vu auparavant. J'ai une classe complète en utilisant la bibliothèque WININET, donc si je dois recommencer en VB, je m'en tiendrai probablement à cela, mais il est toujours bon d'avoir des alternatives. – jac
Si la propriété hors ligne d'Internet Explorer est définie sur true, cela ne fonctionnera pas. Vous obtiendrez une erreur de fichier introuvable. – kjack
Essayez ceci:
My.Computer.Network.DownloadFile (*File to download*, *What to save it as*)
Vous devez lui donner un nom de fichier dans le quoi enregistrer comme:
Exemple:
My.Computer.Network.DownloadFile _
("http://www.cohowinery.com/downloads/WineList.txt", _
"C:\Documents and Settings\All Users\Documents\WineList.txt")
Cela ressemble à VB.NET, question est à propos de VB6 –
Essayez cette
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
plus de détails se référer http://smartreferences.blogspot.in
Je ne sais pas pourquoi sur cette réponse est pas de points. C'est la seule réponse qui fonctionne vraiment sans contrôle inet. Merci pour l'aide. –
- 1. Winsock télécharger des fichiers - vb6
- 2. PHP télécharger le fichier
- 3. Télécharger le fichier distant
- 4. Télécharger le fichier jquery
- 5. Télécharger le fichier unique
- 6. Télécharger le fichier PHP
- 7. télécharger le fichier MVC
- 8. Télécharger le fichier jquery.numeric.js
- 9. Télécharger le fichier django
- 10. VB6 - Ouvrir le fichier pour l'écriture partagée
- 11. Télécharger le fichier dans MVC
- 12. Télécharger le fichier de formulaire
- 13. ASP.Net Ajax Télécharger le fichier
- 14. Télécharger le fichier php mail
- 15. Télécharger le fichier avec jquery
- 16. C# télécharger le fichier - erreur
- 17. Télécharger le fichier dans Resteasy
- 18. Télécharger le fichier jquery plugin
- 19. Télécharger le fichier sans "Parcourir"
- 20. ExtJS & PHP Télécharger le fichier
- 21. ASP.Net Ajax Télécharger le fichier
- 22. Struts2: Télécharger le fichier + WaitAndExecute
- 23. Télécharger le fichier dans l'iphone
- 24. Fichier vide avec le fichier MVC Télécharger
- 25. télécharger le fichier jar vers le dépôt
- 26. Traite le fichier avant de le télécharger
- 27. WebClient Télécharger le fichier sur le Web
- 28. Télécharger le fichier depuis le serveur asp.net
- 29. Silverlight 2 - Télécharger le fichier - IE Blocks file télécharger
- 30. Comment puis-je télécharger un fichier dans un champ Oracle BLOB à l'aide de VB6?
** Et 81 Qs avec seulement 4 votes ??? ** –
Vous n'avez pas besoin d'inclure la signature dans votre message - votre carte d'utilisateur est ajoutée automatiquement. Lisez [FAQ] (http://stackoverflow.com/faq#signatures) pour plus de détails. – Artemix