Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Télécharge des fichiers

9 réponses
Avatar
vbnet3
Bonjour,
Slt tt monde : comment télécharge des images a partir d’un serveur en utilisent Protocol (http )

9 réponses

Avatar
Martin.boucher
Avec WinHttp !

Exemple :

Private Sub Command1_Click()

Dim wnh As Object
Set wnh = CreateObject("WinHttp.WinHttpRequest.5.1")
With wnh
.Open "GET",
"http://wwwedu.ge.ch/co/colombieres/Sic/Thullen/05_06/704Aexer6/tortue%20cool.jpg",
False
.Send
Call SaveBinaryData("c:tempmonfichier.jpg", .ResponseBody)
End With

End Sub

Function SaveBinaryData(FileName, ByteArray)
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2

'Create Stream object
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")

'Specify stream type - we want To save binary data.
BinaryStream.Type = adTypeBinary

'Open the stream And write binary data To the object
BinaryStream.Open
BinaryStream.Write ByteArray

'Save binary data To disk
BinaryStream.SaveToFile FileName, adSaveCreateOverWrite
End Function


a+
Martin

On Fri, 05 Dec 2008 07:06:18 -0600, vbnet3
wrote:

Bonjour,
Slt tt monde : comment télécharge des images a partir d’un serveur en
utilisent Protocol (http )


Avatar
Driss HANIB
attention Martin,
ton message est considéré comme un virus par avast.

Driss


"Martin Boucher" a écrit dans le message de
news:
avast! : Le corps du message a été retiré car il contient un virus.



Avatar
Martin.boucher
Ah, Merci Driss.
C'est peut-être quand dans mon exemple, il y a des CreateIObject, je
ne sais pas.

J'en profite donc mettre en attachement un fichier texte contenant mon
exemple. En espérant que ca va passer.

Martin



On Fri, 5 Dec 2008 17:32:39 +0100, "Driss HANIB"
wrote:

attention Martin,
ton message est considéré comme un virus par avast.

Driss


"Martin Boucher" a écrit dans le message de
news:
avast! : Le corps du message a été retiré car il contient un virus.






Avatar
Martin.boucher
Ah, Merci Driss.
C'est peut-être les Create Object de l'exemple qui ont fait ça.
Enfin, c'est pas très pratique pour envoyer un exemple de code...

Bon, je vais envoyer l'exemple en maquillant certaine commande, en
espérant que celui-ci passe bien maintenant.





Martin



On Fri, 5 Dec 2008 17:32:39 +0100, "Driss HANIB"
wrote:

attention Martin,
ton message est considéré comme un virus par avast.

Driss


"Martin Boucher" a écrit dans le message de
news:
avast! : Le corps du message a été retiré car il contient un virus.






Avatar
Martin.boucher
Bon, voici l'exemple en question.
Il faudra remplacer "Object Create" par la bonne instruction.


Avec WinHttp !

Exemple :

Private Sub Command1_Click()

Dim wnh As Object
Set wnh = Object Create("WinHttp.WinHttpRequest.5.1")
With wnh
.Open "GET",
"http://medias.lemonde.fr/mmpub/edt/ill/2005/09/02/v_7_wiki4.jpg",
False
.Send
Call SaveBinaryData("c:tempmonfichier.jpg", .ResponseBody)
End With

End Sub

Function SaveBinaryData(FileName, ByteArray)
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2

'Create Stream object
Dim BinaryStream
Set BinaryStream = Object Create("ADODB.Stream")

'Specify stream type - we want To save binary data.
BinaryStream.Type = adTypeBinary

'Open the stream And write binary data To the object
BinaryStream.Open
BinaryStream.Write ByteArray

'Save binary data To disk
BinaryStream.SaveToFile FileName, adSaveCreateOverWrite
End Function




On Fri, 05 Dec 2008 16:45:55 GMT, (Martin
Boucher) wrote:

Ah, Merci Driss.
C'est peut-être les Create Object de l'exemple qui ont fait ça.
Enfin, c'est pas très pratique pour envoyer un exemple de code...

Bon, je vais envoyer l'exemple en maquillant certaine commande, en
espérant que celui-ci passe bien maintenant.





Martin



On Fri, 5 Dec 2008 17:32:39 +0100, "Driss HANIB"
wrote:

attention Martin,
ton message est considéré comme un virus par avast.

Driss


"Martin Boucher" a écrit dans le message de
news:
avast! : Le corps du message a été retiré car il contient un virus.








Avatar
Driss HANIB
salut Martin

c'est du VB 6 ?
(je ne connais pas c'est tout..mais il y a plein de choses que je ne connais
pas ;o) )

Driss

"Martin Boucher" a écrit dans le message de
news:
Bon, voici l'exemple en question.
Il faudra remplacer "Object Create" par la bonne instruction.


Avec WinHttp !

Exemple :

Private Sub Command1_Click()

Dim wnh As Object
Set wnh = Object Create("WinHttp.WinHttpRequest.5.1")
With wnh
.Open "GET",
"http://medias.lemonde.fr/mmpub/edt/ill/2005/09/02/v_7_wiki4.jpg",
False
.Send
Call SaveBinaryData("c:tempmonfichier.jpg", .ResponseBody)
End With

End Sub

Function SaveBinaryData(FileName, ByteArray)
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2

'Create Stream object
Dim BinaryStream
Set BinaryStream = Object Create("ADODB.Stream")

'Specify stream type - we want To save binary data.
BinaryStream.Type = adTypeBinary

'Open the stream And write binary data To the object
BinaryStream.Open
BinaryStream.Write ByteArray

'Save binary data To disk
BinaryStream.SaveToFile FileName, adSaveCreateOverWrite
End Function




On Fri, 05 Dec 2008 16:45:55 GMT, (Martin
Boucher) wrote:

Ah, Merci Driss.
C'est peut-être les Create Object de l'exemple qui ont fait ça.
Enfin, c'est pas très pratique pour envoyer un exemple de code...

Bon, je vais envoyer l'exemple en maquillant certaine commande, en
espérant que celui-ci passe bien maintenant.





Martin



On Fri, 5 Dec 2008 17:32:39 +0100, "Driss HANIB"
wrote:

attention Martin,
ton message est considéré comme un virus par avast.

Driss


"Martin Boucher" a écrit dans le message de
news:
avast! : Le corps du message a été retiré car il contient un virus.











Avatar
Martin.boucher
Salut Driss, collègue de la liste VBFrancais. :-)

Ouaip, le code ci-dessous est bien du VB6 et il fonctionne
merveilleusement bien, pour l'avoir essayé sur ma machine. (XP SP2)
(ce n'est pas moi l'auteur)

En fait, toute la solution repose sur l'utilisation de winhttp.dll.
C'est une composante de windows XP depuis le SP1. (sur vista, je ne
sais pas) Si cette DLL n'est pas présente sur ton poste, tu peux la
télécharger, elle est offerte gratuitement.

Le bout utilisant ADO, c'est simplement pour enregistrer le fichier en
local. On pourrait faire autrement, mais ça fait pas mal plus propre.

a+
Martin




On Fri, 5 Dec 2008 18:15:22 +0100, "Driss HANIB"
wrote:

salut Martin

c'est du VB 6 ?
(je ne connais pas c'est tout..mais il y a plein de choses que je ne connais
pas ;o) )

Driss

"Martin Boucher" a écrit dans le message de
news:
Bon, voici l'exemple en question.
Il faudra remplacer "Object Create" par la bonne instruction.


Avec WinHttp !

Exemple :

Private Sub Command1_Click()

Dim wnh As Object
Set wnh = Object Create("WinHttp.WinHttpRequest.5.1")
With wnh
.Open "GET",
"http://medias.lemonde.fr/mmpub/edt/ill/2005/09/02/v_7_wiki4.jpg",
False
.Send
Call SaveBinaryData("c:tempmonfichier.jpg", .ResponseBody)
End With

End Sub

Function SaveBinaryData(FileName, ByteArray)
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2

'Create Stream object
Dim BinaryStream
Set BinaryStream = Object Create("ADODB.Stream")

'Specify stream type - we want To save binary data.
BinaryStream.Type = adTypeBinary

'Open the stream And write binary data To the object
BinaryStream.Open
BinaryStream.Write ByteArray

'Save binary data To disk
BinaryStream.SaveToFile FileName, adSaveCreateOverWrite
End Function




On Fri, 05 Dec 2008 16:45:55 GMT, (Martin
Boucher) wrote:

Ah, Merci Driss.
C'est peut-être les Create Object de l'exemple qui ont fait ça.
Enfin, c'est pas très pratique pour envoyer un exemple de code...

Bon, je vais envoyer l'exemple en maquillant certaine commande, en
espérant que celui-ci passe bien maintenant.





Martin



On Fri, 5 Dec 2008 17:32:39 +0100, "Driss HANIB"
wrote:

attention Martin,
ton message est considéré comme un virus par avast.

Driss


"Martin Boucher" a écrit dans le message de
news:
avast! : Le corps du message a été retiré car il contient un virus.














Avatar
Jean-marc
vbnet3 wrote:
Bonjour,
Slt tt monde : comment télécharge des images a partir d’un serveur en
utilisent Protocol (http )



En complément de la réponse de Martin, je signale
l'existence de l'article de la FAQ:

Comment télécharger une page web en Visual Basic ?
http://faq.vb.free.fr/index.php?question9

On y présente une méthode alternative utilisant l'API :
URLDownloadToFile

Cordialement,


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Avatar
Driss HANIB
OK

merci, je regarde cela

Driss

"Martin Boucher" a écrit dans le message de
news:
Salut Driss, collègue de la liste VBFrancais. :-)

Ouaip, le code ci-dessous est bien du VB6 et il fonctionne
merveilleusement bien, pour l'avoir essayé sur ma machine. (XP SP2)
(ce n'est pas moi l'auteur)

En fait, toute la solution repose sur l'utilisation de winhttp.dll.
C'est une composante de windows XP depuis le SP1. (sur vista, je ne
sais pas) Si cette DLL n'est pas présente sur ton poste, tu peux la
télécharger, elle est offerte gratuitement.

Le bout utilisant ADO, c'est simplement pour enregistrer le fichier en
local. On pourrait faire autrement, mais ça fait pas mal plus propre.

a+
Martin




On Fri, 5 Dec 2008 18:15:22 +0100, "Driss HANIB"
wrote:

salut Martin

c'est du VB 6 ?
(je ne connais pas c'est tout..mais il y a plein de choses que je ne
connais
pas ;o) )

Driss

"Martin Boucher" a écrit dans le message de
news:
Bon, voici l'exemple en question.
Il faudra remplacer "Object Create" par la bonne instruction.


Avec WinHttp !

Exemple :

Private Sub Command1_Click()

Dim wnh As Object
Set wnh = Object Create("WinHttp.WinHttpRequest.5.1")
With wnh
.Open "GET",
"http://medias.lemonde.fr/mmpub/edt/ill/2005/09/02/v_7_wiki4.jpg",
False
.Send
Call SaveBinaryData("c:tempmonfichier.jpg", .ResponseBody)
End With

End Sub

Function SaveBinaryData(FileName, ByteArray)
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2

'Create Stream object
Dim BinaryStream
Set BinaryStream = Object Create("ADODB.Stream")

'Specify stream type - we want To save binary data.
BinaryStream.Type = adTypeBinary

'Open the stream And write binary data To the object
BinaryStream.Open
BinaryStream.Write ByteArray

'Save binary data To disk
BinaryStream.SaveToFile FileName, adSaveCreateOverWrite
End Function




On Fri, 05 Dec 2008 16:45:55 GMT, (Martin
Boucher) wrote:

Ah, Merci Driss.
C'est peut-être les Create Object de l'exemple qui ont fait ça.
Enfin, c'est pas très pratique pour envoyer un exemple de code...

Bon, je vais envoyer l'exemple en maquillant certaine commande, en
espérant que celui-ci passe bien maintenant.





Martin



On Fri, 5 Dec 2008 17:32:39 +0100, "Driss HANIB"
wrote:

attention Martin,
ton message est considéré comme un virus par avast.

Driss


"Martin Boucher" a écrit dans le message de
news:
avast! : Le corps du message a été retiré car il contient un virus.