IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB]télécharger une image d'une page web


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai

    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 17
    Points
    17
    Par défaut [VB]télécharger une image d'une page web
    bonjour,

    Avec ce code j'arrive à lister les url des images d'un page HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set MaPageHtml = IE.document
     
    For i = 0 To MaPageHtml.images.length - 1 'boucle sur les images
        Set imgHtml = MaPageHtml.images.Item(i)
     
        If InStr(laListe, imgHtml.src) = 0 Then 'controle des doublons dans la page
        laListe = laListe & imgHtml.src & vbLf
        Form1.ListUrl.AddItem imgHtml.src 'adresse image
     
        End If
    Comment puis-je télécharger dans un répertoire ces images ?

  2. #2
    Membre habitué Avatar de Mandalar
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 121
    Points : 128
    Points
    128
    Par défaut
    je ne comprends pas exactement comment fonctionne ton code mais je connais un moyen pour copier un fichier d'une addresse web vers l'ordi :

    dans un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    et pour appeler la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URLDownloadToFile 0, URL, destination, 0, 0

  3. #3
    Membre à l'essai

    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 17
    Points
    17
    Par défaut
    merci pour l'aide !

    J'utilise la fonction ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URLDownloadToFile 0, "http://www.dvdfr.com/images/dvd/cover_200x280/0/439.jpg", "C:\", 0, 0
    L'URL est contenue dans une varianble string normalement. Si je vais dans C:\ je ne vois pas de fichier image ? Il n'y a pas de message d'erreur ! Qu'est-ce que j'oublie ?

  4. #4
    Membre habitué Avatar de Mandalar
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 121
    Points : 128
    Points
    128
    Par défaut
    il faut que tu mettes "C:\image.jpg" a la place de "C:\"
    ainsi le fichier "image.jpg" sera créé et contiendra ton image

  5. #5
    Membre à l'essai

    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 17
    Points
    17
    Par défaut
    j'ai modifié le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URLDownloadToFile 0, Tmp, "X:\" & Titre & ".jpg", 0, 0
    Sur mon lecteur X:\ je ne vois rien d'enregistré !! ou ai-je commis une boulette ?

  6. #6
    Membre à l'essai

    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 17
    Points
    17
    Par défaut
    milles escuses !!! j'implore le pardon.......c'est moi qui ai fait la boulette !! il y avait un " de trop dans ma variable string !! Désolé donc .....et ça marche....donc !! pardon, pardon.......

  7. #7
    Membre habitué Avatar de Mandalar
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 121
    Points : 128
    Points
    128
    Par défaut
    euh pas la peine de t'excuser
    ajoute simplement le tag [résolu] par contre ce serait sympas

  8. #8
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 87
    Points
    87
    Par défaut
    Salut,

    En fait j'utilise cette fonction et elle marche bien. Le problème, c'est que l'image sur le web est rafraichie toutes les 5 secondes, et pourtant je charge tout le temps la même image. Comme si la fonction allait chercher le fichier en mémoire cache...

    Que faire ? Y a t il une option à modifier ? Merci

  9. #9
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Veuillez créer un nouveau thread plutôt que faire remonter celui-là si vous désirez poursuivre, quitte à y faire référence par un lien
    car le problème soulevé ne consiste pas en une précision sur le sujet.


    Urldownloadtofile charge un fichier distant en une seule opération ponctuelle - ce n'est donc pas le problème
    et sans voir le code dans lequel la fonction est utilisée, difficile de se faire une idée.

  10. #10
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 87
    Points
    87
    Par défaut
    le problème soulevé ne consiste pas en une précision sur le sujet.
    Ah bon ? Pourtant je parle bien de "Télécharger une image d'une page web" comme le titre du message l'annonce...Je parle bien d'une précision sur le sujet, si si !

    Quand à mon code, ben rien de compliqué, j'appelle juste la fonction dans une boucle pour enregistrer les images d'une page (provenant d'une webcam). Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Bo_Demarrer_Click()
     
        Dim URL As String, Destination As String, No As Long
     
        URL = "http://212.86.4.14/camera_image/image.jpg"
     
        Do
            No = No + 1
            Destination = "Fichiers\Image " & No & ".jpg"
            URLDownloadToFile 0, URL, Destination, 0, 0 'chargement de l'image
            Sleep 10000 'Fonction d'attente pour 10 secondes
        Loop
     
    End Sub
    Voilà, a+

  11. #11
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Il est plus probable que l'image n'est pas modifiée-
    afin de lever le doute, supprime le fichier du cache avec DeleteUrlCacheEntry.

  12. #12
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tiens j'ai trouvé ça

    http://www.autohotkey.com/docs/comma...loadToFile.htm

    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URLDownloadToFile 0, URL & "?FauxParam=" & No, Destination, 0, 0 'chargement de l'image

    ? elle est ou ta webcam ?...

  13. #13
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 87
    Points
    87
    Par défaut
    Merci de vos réponses, ça marche !

    Bbil : Ta méthode marche, mais ça va créer un nouveau fichier à chaque fois dans la cache, ce qui prend de la place sur le disque dur au bout d'un moment. La camera est en Finlande du sud ouest, dans le centre ville de Pori pour être précis C'est pour m'amuser à voir l'évolution du climat au fil du temps...

    DarkVader : oui, ça marche bien avec DeleteUrlCacheEntry !!! Sans, vb va lire la cache.

    Voici donc le code dans le module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public 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
    Public Declare Function DeleteUrlCacheEntry Lib "WININET.DLL" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Et dans le Form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Bo_Demarrer_Click()
     
        Dim URL As String, Freq As Long
        Dim No As Long, Destination As String
     
        Freq = InputBox("Donnez la période de rafraichissement (en secondes)")
        URL = "http://212.86.4.14/camera_image/image.jpg"
     
        Do
            No = No + 1
            Destination = "Fichiers\Image " & No & ".jpg"
            DeleteUrlCacheEntry URL
            URLDownloadToFile 0, URL, Destination, 0, 0 'chargement de l'image
            Sleep Freq * 1000 'Fonction d'attente pour Freq secondes
        Loop
     
    End Sub
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. Afficher une image d'une BD dans une page JSF
    Par kam81 dans le forum JSF
    Réponses: 4
    Dernier message: 06/09/2011, 21h51
  3. Afficher une image d'une DB dans une page web
    Par akaii dans le forum VB.NET
    Réponses: 1
    Dernier message: 09/03/2009, 10h56
  4. [Image]charger une image sur une page HTML
    Par Malo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/07/2006, 18h33
  5. Charger une image sur la page web
    Par gregbart dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/03/2006, 18h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo