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 :

[VB6] Télécharger un fichier avec VB 6


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [VB6] Télécharger un fichier avec VB 6
    Bonjour,

    Je souhaiterais faire télécharger automatiquement par VB un fichier sur un site Web (connaissant l'adresse du site et le nom du fichier).
    Il ne s'agit pas de lire en ligne le contenu du fichier, mais de l'enregistrer sur le dique de l'utilisateur (en l'occurence, moi, peu-être d'autres plus tard !).

    Savez-vous comment procéder (et d'abord, si cela est possible) ?

    Merci pour vos précieux conseils.

    Benoit

  2. #2
    Fox
    Fox est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    Tu devrais chercher du côté du composant VB "Inet", il devrait te permettre de télécharger facilement un fichier, c'est celui que j'utilise pour automatiser l'envoi et le téléchargement de fichier sur un site FTP.

    @+

  3. #3
    Nouveau membre du Club

    Inscrit en
    Septembre 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 15
    Points : 25
    Points
    25
    Par défaut
    Je sais plus ou je l'ai choper mais c'est pas de moi :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    Option Explicit
     
    Public Enum TypeDeFichier
        FichierAscii = False
        FichierBinaire = True
    End Enum
     
    Public Declare Function InternetOpen Lib "wininet.dll" _
         Alias "InternetOpenA" _
         (ByVal lpszAgent As String, _
            ByVal dwAccessType As Long, _
            ByVal lpszProxyName As String, _
            ByVal lpszProxyBypass As String, _
            ByVal dwFlags As Long) _
            As Long
    Public Declare Function InternetCloseHandle Lib "wininet.dll" _
        (ByVal hInet As Long) As Long
    Public Declare Function InternetOpenUrl Lib "wininet.dll" _
         Alias "InternetOpenUrlA" _
         (ByVal hInternetSession As Long, _
            ByVal lpszUrl As String, _
            ByVal lpszHeaders As String, _
            ByVal dwHeadersLength As Long, _
            ByVal dwFlags As Long, _
            ByVal dwContext As Long) _
            As Long
    Public Declare Function InternetReadFile Lib "wininet.dll" _
         (ByVal hFile As Long, _
            ByVal lpBuffer As String, _
            ByVal dwNumberOfBytesToRead As Long, _
            lNumberOfBytesRead As Long) _
            As Long
    Public Declare Function DeleteUrlCacheEntry Lib "wininet.dll" _
         Alias "DeleteUrlCacheEntryA" _
         (ByVal lpszUrlName As String) _
            As Integer
     
    Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0
    Public Const INTERNET_FLAG_RELOAD = &H80000000
     
    Public hSession As Long
    Public hUrlFile As Long
     
     
     
    Public Function OuvrirURL(sURL As String, FileType As TypeDeFichier) As String
        Dim Buffer As String * 256
        Dim Info As String
        Dim NombreOctets As Long
        Dim ValRet As Long
        Dim R As Integer
     
        Screen.MousePointer = vbHourglass
        On Error GoTo Err_Lecture
     
        DeleteUrlCacheEntry sURL
     
        hSession = InternetOpen(App.Title, _
            INTERNET_OPEN_TYPE_PRECONFIG, _
            vbNullString, _
            vbNullString, _
            0)
        hUrlFile = InternetOpenUrl(hSession, _
            sURL, _
            vbNullString, _
            0, _
            INTERNET_FLAG_RELOAD, _
            0)
            Dim Total As Long
        Select Case FileType
        Case True
            'Synopsis.PB1.Max = Total
            'Total = 0
            Do
                ValRet = InternetReadFile(hUrlFile, _
                    Buffer, _
                    Len(Buffer), _
                    NombreOctets)
                If NombreOctets > 0 Then Info = Info & Buffer
                'Total = Total + NombreOctets
                'Synopsis.PB1.Value = Total
                DoEvents
            Loop Until NombreOctets = 0
            'Synopsis.PB1.Value = 0
            InternetCloseHandle (hUrlFile)
            InternetCloseHandle (hSession)
            If Len(Info) = 0 Then
                OuvrirURL = False
                Screen.MousePointer = vbNormal
                Exit Function
            End If
        Case False
                    ValRet = InternetReadFile(hUrlFile, _
                    Buffer, _
                    Len(Buffer), _
                    NombreOctets)
            InternetCloseHandle (hUrlFile)
            InternetCloseHandle (hSession)
            If NombreOctets = 0 Then
                    OuvrirURL = False
                    Screen.MousePointer = vbNormal
                    Exit Function
            End If
            Info = Left$(Buffer, NombreOctets)
        End Select
        DeleteUrlCacheEntry sURL
        Screen.MousePointer = vbNormal
        OuvrirURL = Info
        Exit Function
     
    Err_Lecture:
        OuvrirURL = False
        Screen.MousePointer = vbNormal
        Exit Function
     
    End Function
    La programmation est un art, ne le gachons pas.

  4. #4
    Candidat au Club
    Inscrit en
    Juillet 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos conseils.

    J'arrive maintenant à télécharger un grâce au code de "Khorne" (merci !). J'ai pas réussi avec Inet (merci également à Fox), même si ce contrôle me paraît convenir tout à fait.

    Mais problème: je n'arrive pas à télécharger un fichier .pdf (Acrobat)
    En effet, la fonction retourne une String, que j'écris dans un fichier texte, mais dont le nom est *.pdf. Problème: Acrobat Reader ne peut pas le lire !!

    Avez-vous une solution ?

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Je précise que mon fichier pèse 220 Ko. Je ne pense pas que cela soit trop gros, mais peut-être pour une String...

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/08/2013, 17h25
  2. Réponses: 1
    Dernier message: 15/05/2009, 09h31
  3. Charger un fichier avec un nom variable
    Par GuilloOm dans le forum Octave
    Réponses: 2
    Dernier message: 21/07/2008, 17h19
  4. charger un fichier avec <html:file
    Par air75 dans le forum Struts 1
    Réponses: 5
    Dernier message: 26/03/2008, 09h24
  5. [VB6] [Réseau] Récupérer la taille d'un fichier avec inet
    Par pcpunch dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 20/02/2003, 21h38

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