Télécharger un fichier à partir d'une url http

Soyez le premier à donner votre avis sur cette source.

Snippet vu 43 658 fois - Téléchargée 31 fois

Contenu du snippet

Ce code est une api trouvée sur le Net (donc je n'en sui pas l'auteur, j'ai juste fait l'exemple). Trouvant cette fonction simple et utile et ne l'ayant pas vu sur Vbfrance, je me permet de l'ajouter ici.
Fonction qui permet de télécharger un fichier hébergé sur un site, afin de pouvoir l'exploiter dans son application vb.

Dans cet exemple illustrant la syntaxe de cette api, j'utilise la fonction pour récupérer une image d'un site internet afin de l'afficher dans un picturebox de mon projet vb.

Source / Exemple :


'API de telechargement - A mettre dans les déclarations de var
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

'A mettre dans votre Form:

Dim errcode As Long
Dim url As String
Dim localFileName As String

'On spécifie le chemin de l'image web
url = "http://www.siteweb.com/image.jpg"
'On spécifie le chemin ou l'on veut enregistrer ce fichier
'(vb.app.path donne le chemin du dossier de l'appli vb)
localFileName = VB.App.Path & "\image.jpg"

'On appelle la fonction api de téléchargement
errcode = URLDownloadToFile(0, url, localFileName, 0, 0)

If errcode = 0 Then

'Message de confirmation que l'image a bien été téléchargée
    'MsgBox "Fichier bien reçu"
    'Comme on a bien reçu l'image on peut la charger
    picture1 = VB.LoadPicture(localFileName)

Else

'Sinon on affiche le message d'erreur
    'MsgBox "Erreur durant le téléchargement"

End If

A voir également

Ajouter un commentaire

Commentaires

poullin
Messages postés
6
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
20 février 2009

J'ai adapté mon fichier exécutable en y associant un fichier "manifest" qui courcircuite les demandes de vista. Le fichier se lance par double click comme sous XP ou 2000 Pro. J'ai utilisé des infos trouvées sur un forum de développeurs.
Le problème est peut être que le téléchargement d'un fichier par URLDownLoadToFile est "filtré" par Vista Pro et interdit ce chargement.
Je n'ai pas la possibilité de tester dans l'immédiat, ne possédant pas vista.
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
TOUJOURS lancer VB6.exe en mode administrateur
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Tu as essayé de lancer ton appli en tant qu'admin ?
poullin
Messages postés
6
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
20 février 2009

Bonjour,
J'utilise cette fonction dans un programme Vb6.
Aucun problème avec Windows 2000 pro, Xp familiale, Xp Pro, Vista familiale.

Un cas de non fonctionnement avec Vista version Pro.
Quelqu'un connaîtrait-il la raison ou aurait-il rencontré ce problème?

Merci d'avance.
poullin
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
le temps d'aller sur la page de doc consacrée a cette fonction:
http://msdn2.microsoft.com/en-us/library/ms775123(VS.85).aspx

on voit:
Minimum availability Internet Explorer 3.0
Minimum operating systems Windows NT 4.0, Windows 95


donc a priori, ok pour vista

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.