PB URLDownloadToFile fichier incomplet [Résolu]

Signaler
Messages postés
16
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
22 mai 2012
-
Messages postés
16
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
22 mai 2012
-
Bonjour,
J 'utilise l'API URLDownloadToFile, de façon très simple :
returnValue = URLDownloadToFile(0&, "https://source.txt", "C:\Documents and Settings\My Documents\destination.txt", 0, 0)

ReturnValue me renvoie 0 donc il n'y a pas d'erreur, mon fichier à télécharger fait 12Mo alors que le fichier sur mon disque ne fait plus que 400Ko.
c'est un fichier qui contient des lignes pour access, et je ne récupère donc pas toutes mes lignes, le fichier n'est même pas corrompu ni changé.

après recherche , je me suis penché sur le cache, sur le contrôle webbrowser.. sans succès!
Quelqu'un pourrait m'aider ?


El Grande Lynce

12 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
idem VB6/VBA :
    With CreateObject("WinHttp.WinHttpRequest.5.1")
        .Open "GET", "https://mfi-assets.ecb.int/dla/EA/ea_all_100125.txt", True
        .Send
        Do Until .WaitForResponse(10)
            DoEvents
        Loop
        Open "C:\a.txt" For Output As #1
            Print #1, .ResponseText;
        Close #1
    End With



Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010
1
Sub telechargerfichier(surl As String)
'   destination (app.path + nom du fichier distant)
Dim sDest As String
sDest = App.Path
If RightB$(sDest, 2) <> "" Then
sDest = sDest & ""
End If
sDest = sDest & Mid$(surl, 1 + InStrRev(surl, "/"))
'   download
If URLDownloadToFile(0&, surl, sDest, 0&, 0&) = 0 Then
MsgBox "Fichier téléchargé :" & vbNewLine & sDest, vbInformation, "Réussite"
Else
MsgBox "Erreur ....", vbExclamation, "Echec"
End If
End Sub



Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
12 Mo via cette API ?

utilises plutôt un WebHttpRequest ou autre Inet.

une liaison asynchrone, quoi. Tu pourras ainsi faire un dialogue d'attente, ou tout simplement éviter de figer ton interface.

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
16
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
22 mai 2012

je ne connais pas WebHttpRequest, et à première vue je ne trouve pas de doc vba là dessus, est-ce que tu aurais une adresse à me communiquer ?


El Grande Lynce
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
WinHttprequest, pardon.

msdn.microsoft.com/en-us/library/aa384106(VS.85).aspx


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010
1
Messages postés
16
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
22 mai 2012

RE
j'ai utilisé le code suivant :

Dim wNH As Object
Set wNH = CreateObject("WinHttp.WinHttpRequest.5.1")
With wNH
.Open "GET", "sURL", True
.Send

le code s'execute mais aucun fichier n'est téléchargé..
est-ce que le fait que le lien soit sécurisé (https://) pose un pb ?
ou, si le fichier est téléchargé, où est-ce ? (comme je ne passe aucun parametre l'indicant je me pose la question..)



El Grande Lynce
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
donne moi l'URL au complet, on va voir

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
16
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
22 mai 2012

https://mfi-assets.ecb.int/dla/EA/ea_all_100125.txt

c'est un intranet par contre

El Grande Lynce
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
ok.
j'y ai accès, je te fais un code en VB6 tout de suite.




Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
16
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
22 mai 2012

Tu y as accès ? C'est bizarre, par contre c'est du vba que j'utilise.


El Grande Lynce
Messages postés
16
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
22 mai 2012

Merci beaucoup à tous les 2,
le code fonctionne maintenant et j'ai pas mal appris


El Grande Lynce