Bonjour Stéphane,
Oui c'est possible... et on peut même te dire comment ;)
Dans le cas d'un téléchargement : donc du serveur vers le client
(navigateur), tu as la librairie System.IO qui contient la classe FileInfo
qui permet d'obtenir des information sur un fichier côté seveur.
Si tu veux faire l'opération dans l'autre sens : le client veut envoyer un
fichier ver ton serveur, tu peux utiliser le control FileUpload qui
affiche tout ce qu'il faut pour que l'utilisateur selectionne un fichier
présent sur son post et l'envoi au serveur. Ce control à une propriété
stockant les bits constituants le fichier donc si tu as un contrôle nommé
FileUpload1, tu peux connaitre la taille du fichier selectioné par
l'utilsiateur via le code suivant : Me.FileUpload1.FileBytes.Length. Ceci
avant même que le fichier soit remonté sur le serveur.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour Stéphane,
Oui c'est possible... et on peut même te dire comment ;)
Dans le cas d'un téléchargement : donc du serveur vers le client
(navigateur), tu as la librairie System.IO qui contient la classe FileInfo
qui permet d'obtenir des information sur un fichier côté seveur.
Si tu veux faire l'opération dans l'autre sens : le client veut envoyer un
fichier ver ton serveur, tu peux utiliser le control FileUpload qui
affiche tout ce qu'il faut pour que l'utilisateur selectionne un fichier
présent sur son post et l'envoi au serveur. Ce control à une propriété
stockant les bits constituants le fichier donc si tu as un contrôle nommé
FileUpload1, tu peux connaitre la taille du fichier selectioné par
l'utilsiateur via le code suivant : Me.FileUpload1.FileBytes.Length. Ceci
avant même que le fichier soit remonté sur le serveur.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour Stéphane,
Oui c'est possible... et on peut même te dire comment ;)
Dans le cas d'un téléchargement : donc du serveur vers le client
(navigateur), tu as la librairie System.IO qui contient la classe FileInfo
qui permet d'obtenir des information sur un fichier côté seveur.
Si tu veux faire l'opération dans l'autre sens : le client veut envoyer un
fichier ver ton serveur, tu peux utiliser le control FileUpload qui
affiche tout ce qu'il faut pour que l'utilisateur selectionne un fichier
présent sur son post et l'envoi au serveur. Ce control à une propriété
stockant les bits constituants le fichier donc si tu as un contrôle nommé
FileUpload1, tu peux connaitre la taille du fichier selectioné par
l'utilsiateur via le code suivant : Me.FileUpload1.FileBytes.Length. Ceci
avant même que le fichier soit remonté sur le serveur.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour,
Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Bonjour,
Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Bonjour,
Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application maison,
la donne n'est pas la même. Mais fort heureusement si tu ne veux pas
partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C# ou
autre langage plus lourde car on doit tout réécrire). Mais dans ton cas tu
peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application maison,
la donne n'est pas la même. Mais fort heureusement si tu ne veux pas
partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C# ou
autre langage plus lourde car on doit tout réécrire). Mais dans ton cas tu
peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application maison,
la donne n'est pas la même. Mais fort heureusement si tu ne veux pas
partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C# ou
autre langage plus lourde car on doit tout réécrire). Mais dans ton cas tu
peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
in news:, Stéphane wrote :Bonjour,
Bonjour,Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Je pense, sans l'avoir testé, qu'il faut faire une requête http avec la
méthode HEAD.
Ensuit tu regardes le champ content-length dans la réponse.
Tout ceci avec les classes System.Net.HttpWebRequest et
System.Net.WebResponse.
--
Fred
in news:uQ33IoXiJHA.5732@TK2MSFTNGP05.phx.gbl, Stéphane wrote :
Bonjour,
Bonjour,
Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Je pense, sans l'avoir testé, qu'il faut faire une requête http avec la
méthode HEAD.
Ensuit tu regardes le champ content-length dans la réponse.
Tout ceci avec les classes System.Net.HttpWebRequest et
System.Net.WebResponse.
--
Fred
foleide@free.fr
in news:, Stéphane wrote :Bonjour,
Bonjour,Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Je pense, sans l'avoir testé, qu'il faut faire une requête http avec la
méthode HEAD.
Ensuit tu regardes le champ content-length dans la réponse.
Tout ceci avec les classes System.Net.HttpWebRequest et
System.Net.WebResponse.
--
Fred
Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens de
signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" a écrit dans le message de news:Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application maison,
la donne n'est pas la même. Mais fort heureusement si tu ne veux pas
partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C# ou
autre langage plus lourde car on doit tout réécrire). Mais dans ton cas
tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens de
signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de news:
uU9ckM1iJHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application maison,
la donne n'est pas la même. Mais fort heureusement si tu ne veux pas
partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C# ou
autre langage plus lourde car on doit tout réécrire). Mais dans ton cas
tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens de
signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" a écrit dans le message de news:Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application maison,
la donne n'est pas la même. Mais fort heureusement si tu ne veux pas
partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C# ou
autre langage plus lourde car on doit tout réécrire). Mais dans ton cas
tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Donc, j'ai testé la 1ère solution, mais elle ne fonctionne pas.
J'ai l'URL de mon fichier à télécharger :
fichier_à_télécharger
A noter que le téléchargement en lui-même fonctionne parfaitement.
Pour info :
IO.File.Exists(fichier_à_télécharger) retourne False
Et ceci lève 1 exception :
Dim fi As IO.FileInfo = New IO.FileInfo(fichier_à_télécharger)
Exception :
Les formats URI ne sont pas pris en charge.
Si je n'exécute pas ces lignes, j'arrive ici :
BackgroundWorker_Téléchargement.RunWorkerAsync(fichier_à_télécharger)
Private Sub BackgroundWorker_Téléchargement_DoWork(ByVal sender As
System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles
BackgroundWorker_Téléchargement.DoWork
téléchargement_ok = télécharge(e.Argument.ToString)
End Sub
Function télécharge(ByVal url As String) As Boolean
Dim fichier As String = url.Substring(url.LastIndexOf("/") + 1)
téléchargement_fichier_complet = Me.TextBox_Répertoire.Text &
fichier
My.Computer.Network.DownloadFile(url, téléchargement_fichier_complet, "",
"", True, 100000, True)
Et le téléchargement démarre normalement.
Je vais maintenant regarder les autres solutions proposées.
Stéphane.
<Stéphane> a écrit dans le message de news:Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens
de signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le
téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" a écrit dans le message de
news:Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application
maison, la donne n'est pas la même. Mais fort heureusement si tu ne veux
pas partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C#
ou autre langage plus lourde car on doit tout réécrire). Mais dans ton
cas tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Donc, j'ai testé la 1ère solution, mais elle ne fonctionne pas.
J'ai l'URL de mon fichier à télécharger :
fichier_à_télécharger
A noter que le téléchargement en lui-même fonctionne parfaitement.
Pour info :
IO.File.Exists(fichier_à_télécharger) retourne False
Et ceci lève 1 exception :
Dim fi As IO.FileInfo = New IO.FileInfo(fichier_à_télécharger)
Exception :
Les formats URI ne sont pas pris en charge.
Si je n'exécute pas ces lignes, j'arrive ici :
BackgroundWorker_Téléchargement.RunWorkerAsync(fichier_à_télécharger)
Private Sub BackgroundWorker_Téléchargement_DoWork(ByVal sender As
System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles
BackgroundWorker_Téléchargement.DoWork
téléchargement_ok = télécharge(e.Argument.ToString)
End Sub
Function télécharge(ByVal url As String) As Boolean
Dim fichier As String = url.Substring(url.LastIndexOf("/") + 1)
téléchargement_fichier_complet = Me.TextBox_Répertoire.Text &
fichier
My.Computer.Network.DownloadFile(url, téléchargement_fichier_complet, "",
"", True, 100000, True)
Et le téléchargement démarre normalement.
Je vais maintenant regarder les autres solutions proposées.
Stéphane.
<Stéphane> a écrit dans le message de news:
uX8Ljb4iJHA.1172@TK2MSFTNGP05.phx.gbl...
Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens
de signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le
téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de
news: uU9ckM1iJHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application
maison, la donne n'est pas la même. Mais fort heureusement si tu ne veux
pas partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C#
ou autre langage plus lourde car on doit tout réécrire). Mais dans ton
cas tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Donc, j'ai testé la 1ère solution, mais elle ne fonctionne pas.
J'ai l'URL de mon fichier à télécharger :
fichier_à_télécharger
A noter que le téléchargement en lui-même fonctionne parfaitement.
Pour info :
IO.File.Exists(fichier_à_télécharger) retourne False
Et ceci lève 1 exception :
Dim fi As IO.FileInfo = New IO.FileInfo(fichier_à_télécharger)
Exception :
Les formats URI ne sont pas pris en charge.
Si je n'exécute pas ces lignes, j'arrive ici :
BackgroundWorker_Téléchargement.RunWorkerAsync(fichier_à_télécharger)
Private Sub BackgroundWorker_Téléchargement_DoWork(ByVal sender As
System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles
BackgroundWorker_Téléchargement.DoWork
téléchargement_ok = télécharge(e.Argument.ToString)
End Sub
Function télécharge(ByVal url As String) As Boolean
Dim fichier As String = url.Substring(url.LastIndexOf("/") + 1)
téléchargement_fichier_complet = Me.TextBox_Répertoire.Text &
fichier
My.Computer.Network.DownloadFile(url, téléchargement_fichier_complet, "",
"", True, 100000, True)
Et le téléchargement démarre normalement.
Je vais maintenant regarder les autres solutions proposées.
Stéphane.
<Stéphane> a écrit dans le message de news:Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens
de signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le
téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" a écrit dans le message de
news:Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application
maison, la donne n'est pas la même. Mais fort heureusement si tu ne veux
pas partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C#
ou autre langage plus lourde car on doit tout réécrire). Mais dans ton
cas tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
in news:, Stéphane wrote :Bonjour,
Bonjour,Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Je pense, sans l'avoir testé, qu'il faut faire une requête http avec la
méthode HEAD.
Ensuit tu regardes le champ content-length dans la réponse.
Tout ceci avec les classes System.Net.HttpWebRequest et
System.Net.WebResponse.
--
Fred
in news:uQ33IoXiJHA.5732@TK2MSFTNGP05.phx.gbl, Stéphane wrote :
Bonjour,
Bonjour,
Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Je pense, sans l'avoir testé, qu'il faut faire une requête http avec la
méthode HEAD.
Ensuit tu regardes le champ content-length dans la réponse.
Tout ceci avec les classes System.Net.HttpWebRequest et
System.Net.WebResponse.
--
Fred
foleide@free.fr
in news:, Stéphane wrote :Bonjour,
Bonjour,Avant de télécharger un fichier sur internet via du code, est-il
possible de connaître la taille de ce fichier ?
Je pense, sans l'avoir testé, qu'il faut faire une requête http avec la
méthode HEAD.
Ensuit tu regardes le champ content-length dans la réponse.
Tout ceci avec les classes System.Net.HttpWebRequest et
System.Net.WebResponse.
--
Fred
Pour la 2e solution, je n'y arrive pas non plus.
J'ai ajouté la référence System.Web
Dans la boîte à outils, je n'ai pas de nouveaux contrôles, ni si je fais
Clic droit dans la boîte à outils puis Choisir les éléments.
Si je crée 1 FileUpload par le code, je n'arrive pas à l'utiliser en lui
"collant" quelque part mon URL.
Dim fu As New System.Web.UI.WebControls.FileUpload
Donc, impossible de récupérer la taille qui pourrait être soit ainsi :
taille = fu.FileBytes.Length
ou ainsi :
taille = fu.PostedFile.ContentLength
Mais bon, apparemment, c'est pour mettre des fichiers qui sont sur le
disque dur pour aller sur 1 serveur internet, donc ca ne correspondrait
apparement pas à mon besoin...
Je vais maintenant essayer de regarder la solution proposée par Fred.
Stéphane
<Stéphane> a écrit dans le message de news:Donc, j'ai testé la 1ère solution, mais elle ne fonctionne pas.
J'ai l'URL de mon fichier à télécharger :
fichier_à_télécharger
A noter que le téléchargement en lui-même fonctionne parfaitement.
Pour info :
IO.File.Exists(fichier_à_télécharger) retourne False
Et ceci lève 1 exception :
Dim fi As IO.FileInfo = New IO.FileInfo(fichier_à_télécharger)
Exception :
Les formats URI ne sont pas pris en charge.
Si je n'exécute pas ces lignes, j'arrive ici :
BackgroundWorker_Téléchargement.RunWorkerAsync(fichier_à_télécharger)
Private Sub BackgroundWorker_Téléchargement_DoWork(ByVal sender As
System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles
BackgroundWorker_Téléchargement.DoWork
téléchargement_ok = télécharge(e.Argument.ToString)
End Sub
Function télécharge(ByVal url As String) As Boolean
Dim fichier As String = url.Substring(url.LastIndexOf("/") + 1)
téléchargement_fichier_complet = Me.TextBox_Répertoire.Text &
fichier
My.Computer.Network.DownloadFile(url, téléchargement_fichier_complet, "",
"", True, 100000, True)
Et le téléchargement démarre normalement.
Je vais maintenant regarder les autres solutions proposées.
Stéphane.
<Stéphane> a écrit dans le message de news:Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens
de signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le
téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" a écrit dans le message de
news:Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application
maison, la donne n'est pas la même. Mais fort heureusement si tu ne
veux pas partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C#
ou autre langage plus lourde car on doit tout réécrire). Mais dans ton
cas tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Pour la 2e solution, je n'y arrive pas non plus.
J'ai ajouté la référence System.Web
Dans la boîte à outils, je n'ai pas de nouveaux contrôles, ni si je fais
Clic droit dans la boîte à outils puis Choisir les éléments.
Si je crée 1 FileUpload par le code, je n'arrive pas à l'utiliser en lui
"collant" quelque part mon URL.
Dim fu As New System.Web.UI.WebControls.FileUpload
Donc, impossible de récupérer la taille qui pourrait être soit ainsi :
taille = fu.FileBytes.Length
ou ainsi :
taille = fu.PostedFile.ContentLength
Mais bon, apparemment, c'est pour mettre des fichiers qui sont sur le
disque dur pour aller sur 1 serveur internet, donc ca ne correspondrait
apparement pas à mon besoin...
Je vais maintenant essayer de regarder la solution proposée par Fred.
Stéphane
<Stéphane> a écrit dans le message de news:
u3KS8tJjJHA.1184@TK2MSFTNGP04.phx.gbl...
Donc, j'ai testé la 1ère solution, mais elle ne fonctionne pas.
J'ai l'URL de mon fichier à télécharger :
fichier_à_télécharger
A noter que le téléchargement en lui-même fonctionne parfaitement.
Pour info :
IO.File.Exists(fichier_à_télécharger) retourne False
Et ceci lève 1 exception :
Dim fi As IO.FileInfo = New IO.FileInfo(fichier_à_télécharger)
Exception :
Les formats URI ne sont pas pris en charge.
Si je n'exécute pas ces lignes, j'arrive ici :
BackgroundWorker_Téléchargement.RunWorkerAsync(fichier_à_télécharger)
Private Sub BackgroundWorker_Téléchargement_DoWork(ByVal sender As
System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles
BackgroundWorker_Téléchargement.DoWork
téléchargement_ok = télécharge(e.Argument.ToString)
End Sub
Function télécharge(ByVal url As String) As Boolean
Dim fichier As String = url.Substring(url.LastIndexOf("/") + 1)
téléchargement_fichier_complet = Me.TextBox_Répertoire.Text &
fichier
My.Computer.Network.DownloadFile(url, téléchargement_fichier_complet, "",
"", True, 100000, True)
Et le téléchargement démarre normalement.
Je vais maintenant regarder les autres solutions proposées.
Stéphane.
<Stéphane> a écrit dans le message de news:
uX8Ljb4iJHA.1172@TK2MSFTNGP05.phx.gbl...
Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens
de signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le
téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de
news: uU9ckM1iJHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application
maison, la donne n'est pas la même. Mais fort heureusement si tu ne
veux pas partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C#
ou autre langage plus lourde car on doit tout réécrire). Mais dans ton
cas tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Pour la 2e solution, je n'y arrive pas non plus.
J'ai ajouté la référence System.Web
Dans la boîte à outils, je n'ai pas de nouveaux contrôles, ni si je fais
Clic droit dans la boîte à outils puis Choisir les éléments.
Si je crée 1 FileUpload par le code, je n'arrive pas à l'utiliser en lui
"collant" quelque part mon URL.
Dim fu As New System.Web.UI.WebControls.FileUpload
Donc, impossible de récupérer la taille qui pourrait être soit ainsi :
taille = fu.FileBytes.Length
ou ainsi :
taille = fu.PostedFile.ContentLength
Mais bon, apparemment, c'est pour mettre des fichiers qui sont sur le
disque dur pour aller sur 1 serveur internet, donc ca ne correspondrait
apparement pas à mon besoin...
Je vais maintenant essayer de regarder la solution proposée par Fred.
Stéphane
<Stéphane> a écrit dans le message de news:Donc, j'ai testé la 1ère solution, mais elle ne fonctionne pas.
J'ai l'URL de mon fichier à télécharger :
fichier_à_télécharger
A noter que le téléchargement en lui-même fonctionne parfaitement.
Pour info :
IO.File.Exists(fichier_à_télécharger) retourne False
Et ceci lève 1 exception :
Dim fi As IO.FileInfo = New IO.FileInfo(fichier_à_télécharger)
Exception :
Les formats URI ne sont pas pris en charge.
Si je n'exécute pas ces lignes, j'arrive ici :
BackgroundWorker_Téléchargement.RunWorkerAsync(fichier_à_télécharger)
Private Sub BackgroundWorker_Téléchargement_DoWork(ByVal sender As
System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles
BackgroundWorker_Téléchargement.DoWork
téléchargement_ok = télécharge(e.Argument.ToString)
End Sub
Function télécharge(ByVal url As String) As Boolean
Dim fichier As String = url.Substring(url.LastIndexOf("/") + 1)
téléchargement_fichier_complet = Me.TextBox_Répertoire.Text &
fichier
My.Computer.Network.DownloadFile(url, téléchargement_fichier_complet, "",
"", True, 100000, True)
Et le téléchargement démarre normalement.
Je vais maintenant regarder les autres solutions proposées.
Stéphane.
<Stéphane> a écrit dans le message de news:Bonjour Jérémy,
Je n'ai pas de soucis avec le téléchargement.
Il fonctionne très bien, et justement avec la même méthode que tu viens
de signaler.
Je veux simplement connaiître la taille du fichier que je vais
télécharger, avant de le télécharger : ca me permettra ainsi de calculer
au fur et à mesure une estimation du temps restant pour le
téléchargement.
Je n'ai pas encore réessayé ce que tu as dit avant. Je te tiens au
courant.
Stéphane.
"Jérémy Jeanson" a écrit dans le message de
news:Bonjour Stéphane,
Vu que tu dois faire le téléchargement à partir d'une application
maison, la donne n'est pas la même. Mais fort heureusement si tu ne
veux pas partir avec un code trop complexe, il existe My.
Je sais que j'ai l'habitude de ne pas le conseiller (migration vers C#
ou autre langage plus lourde car on doit tout réécrire). Mais dans ton
cas tu peux utiliser l'exemple suivant :
If My.Computer.Network.IsConnected Then
If My.Computer.Network.Ping("www.duncanmackenzie.net") Then
Debug.WriteLine("Site Available")
My.Computer.Network.DownloadFile( _
"http://www.duncanmackenzie.net/Articles/", _
My.Computer.FileSystem.SpecialFolders.MyDocuments, _
ShowProgress:=True)
End If
End If
Tiré de la page
http://msdn.microsoft.com/en-us/magazine/cc163972.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr