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

[VB .Net 2008 Express] Téléchargement à partir d'1 WebBrowser

5 réponses
Avatar
Bonjour,

J'ai 1 petite série de questions, s'il est possible de m'éclairer.
J'ai bien vu qu'on parlait de l'objet Response, mais je ne le trouve pas.

Comment lancer le téléchargement d'1 fichier à partir d'1 WebBrowser ?
Comment dire d'enregistrer le fichier dans 1 répertoire donné ?
Comment savoir que l'enregistrement s'est terminé ?
Et comment savoir si possible si l'enregistrement s'est fait avec succès ou
non ?

Merci d'avance pour votre aide,
Stéphane.

5 réponses

Avatar
Gillard
Public Class Form1
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile() As Int16) As Integer
Public Sub DisplayDownloadBox(ByVal sPath As String)
Dim abUnicode(sPath.Length) As Int16
For i As Integer = 0 To sPath.Length - 1
abUnicode(i) =
Microsoft.VisualBasic.Strings.AscW(sPath.Substring(i, 1))
Next i
Call DoFileDownload(abUnicode)
Erase abUnicode
End Sub

' passer par ASCW est apparemment la seule manière pour traiter
l'unicode.
' différents tests effectués avec System.Text.Encoding (ascii, unicode,
utf-16, utf-32, etc...)
' affiche alors une alerte : "Les paramètres de sécurité actuels ne
vous permettent pas de télécharger ce fichier."


Sub Main()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
DisplayDownloadBox("http://bldsoftware.com/pgrm/LeConjugueur.zip")

End Sub
End Class


<Stéphane> a écrit dans le message de groupe de discussion :

Bonjour,

J'ai 1 petite série de questions, s'il est possible de m'éclairer.
J'ai bien vu qu'on parlait de l'objet Response, mais je ne le trouve pas.

Comment lancer le téléchargement d'1 fichier à partir d'1 WebBrowser ?
Comment dire d'enregistrer le fichier dans 1 répertoire donné ?
Comment savoir que l'enregistrement s'est terminé ?
Et comment savoir si possible si l'enregistrement s'est fait avec succès
ou non ?

Merci d'avance pour votre aide,
Stéphane.




Avatar
Merci Georges,

Le téléchargement se lance.

Par contre, j'ai la boîte Enregistrer sous qui apparait toujours.

Et je ne sais pas quand le téléchargement est fini.

Est-ce que tu as 1 solution ?

Je ne trouve que des éléments VB6, et je n'arrive pas à l'adapter en .Net.

Stéphane


"Gillard" <gillard_georges@@@@@@@@@hotmail.com> a écrit dans le message de
news:
Public Class Form1
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile() As Int16) As Integer
Public Sub DisplayDownloadBox(ByVal sPath As String)
Dim abUnicode(sPath.Length) As Int16
For i As Integer = 0 To sPath.Length - 1
abUnicode(i) =
Microsoft.VisualBasic.Strings.AscW(sPath.Substring(i, 1))
Next i
Call DoFileDownload(abUnicode)
Erase abUnicode
End Sub

' passer par ASCW est apparemment la seule manière pour traiter
l'unicode.
' différents tests effectués avec System.Text.Encoding (ascii,
unicode, utf-16, utf-32, etc...)
' affiche alors une alerte : "Les paramètres de sécurité actuels ne
vous permettent pas de télécharger ce fichier."


Sub Main()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
DisplayDownloadBox("http://bldsoftware.com/pgrm/LeConjugueur.zip")

End Sub
End Class


<Stéphane> a écrit dans le message de groupe de discussion :

Bonjour,

J'ai 1 petite série de questions, s'il est possible de m'éclairer.
J'ai bien vu qu'on parlait de l'objet Response, mais je ne le trouve pas.

Comment lancer le téléchargement d'1 fichier à partir d'1 WebBrowser ?
Comment dire d'enregistrer le fichier dans 1 répertoire donné ?
Comment savoir que l'enregistrement s'est terminé ?
Et comment savoir si possible si l'enregistrement s'est fait avec succès
ou non ?

Merci d'avance pour votre aide,
Stéphane.






Avatar
Gillard
ben non je ne sais pas mais sinon

tu peux utiliser

my.computer.network.download .... ( quelque chose comme ça )


:p

<Stéphane> a écrit dans le message de groupe de discussion :
#$
Merci Georges,

Le téléchargement se lance.

Par contre, j'ai la boîte Enregistrer sous qui apparait toujours.

Et je ne sais pas quand le téléchargement est fini.

Est-ce que tu as 1 solution ?

Je ne trouve que des éléments VB6, et je n'arrive pas à l'adapter en .Net.

Stéphane


"Gillard" <gillard_georges@@@@@@@@@hotmail.com> a écrit dans le message de
news:
Public Class Form1
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile() As Int16) As Integer
Public Sub DisplayDownloadBox(ByVal sPath As String)
Dim abUnicode(sPath.Length) As Int16
For i As Integer = 0 To sPath.Length - 1
abUnicode(i) =
Microsoft.VisualBasic.Strings.AscW(sPath.Substring(i, 1))
Next i
Call DoFileDownload(abUnicode)
Erase abUnicode
End Sub

' passer par ASCW est apparemment la seule manière pour traiter
l'unicode.
' différents tests effectués avec System.Text.Encoding (ascii,
unicode, utf-16, utf-32, etc...)
' affiche alors une alerte : "Les paramètres de sécurité actuels ne
vous permettent pas de télécharger ce fichier."


Sub Main()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
DisplayDownloadBox("http://bldsoftware.com/pgrm/LeConjugueur.zip")

End Sub
End Class


<Stéphane> a écrit dans le message de groupe de discussion :

Bonjour,

J'ai 1 petite série de questions, s'il est possible de m'éclairer.
J'ai bien vu qu'on parlait de l'objet Response, mais je ne le trouve
pas.

Comment lancer le téléchargement d'1 fichier à partir d'1 WebBrowser ?
Comment dire d'enregistrer le fichier dans 1 répertoire donné ?
Comment savoir que l'enregistrement s'est terminé ?
Et comment savoir si possible si l'enregistrement s'est fait avec succès
ou non ?

Merci d'avance pour votre aide,
Stéphane.










Avatar
Merci, je vais regarder de ce côté.


"Gillard" <gillard_georges@@@@@@@@@hotmail.com> a écrit dans le message de
news: uDi%
ben non je ne sais pas mais sinon

tu peux utiliser

my.computer.network.download .... ( quelque chose comme ça )


:p

<Stéphane> a écrit dans le message de groupe de discussion :
#$
Merci Georges,

Le téléchargement se lance.

Par contre, j'ai la boîte Enregistrer sous qui apparait toujours.

Et je ne sais pas quand le téléchargement est fini.

Est-ce que tu as 1 solution ?

Je ne trouve que des éléments VB6, et je n'arrive pas à l'adapter en
.Net.

Stéphane


"Gillard" <gillard_georges@@@@@@@@@hotmail.com> a écrit dans le message
de news:
Public Class Form1
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile() As Int16) As Integer
Public Sub DisplayDownloadBox(ByVal sPath As String)
Dim abUnicode(sPath.Length) As Int16
For i As Integer = 0 To sPath.Length - 1
abUnicode(i) =
Microsoft.VisualBasic.Strings.AscW(sPath.Substring(i, 1))
Next i
Call DoFileDownload(abUnicode)
Erase abUnicode
End Sub

' passer par ASCW est apparemment la seule manière pour traiter
l'unicode.
' différents tests effectués avec System.Text.Encoding (ascii,
unicode, utf-16, utf-32, etc...)
' affiche alors une alerte : "Les paramètres de sécurité actuels ne
vous permettent pas de télécharger ce fichier."


Sub Main()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

DisplayDownloadBox("http://bldsoftware.com/pgrm/LeConjugueur.zip")

End Sub
End Class


<Stéphane> a écrit dans le message de groupe de discussion :

Bonjour,

J'ai 1 petite série de questions, s'il est possible de m'éclairer.
J'ai bien vu qu'on parlait de l'objet Response, mais je ne le trouve
pas.

Comment lancer le téléchargement d'1 fichier à partir d'1 WebBrowser ?
Comment dire d'enregistrer le fichier dans 1 répertoire donné ?
Comment savoir que l'enregistrement s'est terminé ?
Et comment savoir si possible si l'enregistrement s'est fait avec
succès ou non ?

Merci d'avance pour votre aide,
Stéphane.












Avatar
Avec du retard, Merci Georges !

C'est exactement tout ce que je recherchais ! Et le tout, en 1 seule ligne
de commande :
Téléchargement du fichier sur internet,
Enregistrement sous un nom prédéfini,
Et pour finir, le code ne passe pas à l'instruction suivante tant que le
téléchargement est toujours en cours.

Bref, magnifique !

Stéphane

PS : J'en profite pour coller mon bout de code, pour que ca puisse servir à
qui en veut (remplacer les commentaires par du code selon les besoins) :

Dim startup_path As String

Sub init()

startup_path = Application.StartupPath

If Not startup_path.EndsWith("") Then startup_path &= ""

End Sub

Sub télécharge(ByVal url As String)

Dim fichier As String = url.Substring(url.LastIndexOf("/") + 1)
Dim fichier_complet As String = startup_path & fichier
Dim CancelDownLoad As Boolean = False

If IO.File.Exists(fichier_complet) Then

Try
IO.File.Delete(fichier_complet)

Catch ex As Exception
'Droits insuffisants en écriture

End Try

End If

Try
My.Computer.Network.DownloadFile(url, fichier_complet, "", "",
True, 100000, True)

Catch ex As Exception

Select Case ex.Message

Case "L'opération a été annulée."
'L'opération a été annulée

Case Else
'Droits insuffisants en écriture ou disque plein ou...

End Select

CancelDownLoad = True

End Try

If Not CancelDownLoad Then

If IO.File.Exists(fichier_complet) Then
'Le téléchargement a réussi

Else
'Le téléchargement a échoué

End If

Else
'Le téléchargement a été annulé ou droits insuffisants en
écriture ou disque plein ou...

End If

End Sub


"Gillard" <gillard_georges@@@@@@@@@hotmail.com> a écrit dans le message de
news: uDi%
ben non je ne sais pas mais sinon

tu peux utiliser

my.computer.network.download .... ( quelque chose comme ça )


:p

<Stéphane> a écrit dans le message de groupe de discussion :
#$
Merci Georges,

Le téléchargement se lance.

Par contre, j'ai la boîte Enregistrer sous qui apparait toujours.

Et je ne sais pas quand le téléchargement est fini.

Est-ce que tu as 1 solution ?

Je ne trouve que des éléments VB6, et je n'arrive pas à l'adapter en
.Net.

Stéphane


"Gillard" <gillard_georges@@@@@@@@@hotmail.com> a écrit dans le message
de news:
Public Class Form1
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile() As Int16) As Integer
Public Sub DisplayDownloadBox(ByVal sPath As String)
Dim abUnicode(sPath.Length) As Int16
For i As Integer = 0 To sPath.Length - 1
abUnicode(i) =
Microsoft.VisualBasic.Strings.AscW(sPath.Substring(i, 1))
Next i
Call DoFileDownload(abUnicode)
Erase abUnicode
End Sub

' passer par ASCW est apparemment la seule manière pour traiter
l'unicode.
' différents tests effectués avec System.Text.Encoding (ascii,
unicode, utf-16, utf-32, etc...)
' affiche alors une alerte : "Les paramètres de sécurité actuels ne
vous permettent pas de télécharger ce fichier."


Sub Main()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

DisplayDownloadBox("http://bldsoftware.com/pgrm/LeConjugueur.zip")

End Sub
End Class


<Stéphane> a écrit dans le message de groupe de discussion :

Bonjour,

J'ai 1 petite série de questions, s'il est possible de m'éclairer.
J'ai bien vu qu'on parlait de l'objet Response, mais je ne le trouve
pas.

Comment lancer le téléchargement d'1 fichier à partir d'1 WebBrowser ?
Comment dire d'enregistrer le fichier dans 1 répertoire donné ?
Comment savoir que l'enregistrement s'est terminé ?
Et comment savoir si possible si l'enregistrement s'est fait avec
succès ou non ?

Merci d'avance pour votre aide,
Stéphane.