alexandrounet
Messages postés1Date d'inscriptionjeudi 8 juillet 2010StatutMembreDernière intervention 8 juillet 2010
-
8 juil. 2010 à 13:57
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011
-
8 juil. 2010 à 18:10
Bonjour, je suis nouveau sur le forum, et debutant en VB.NET
Je suis sur un programme d'upload en ce moment, qui fonctionne via FTP
Voila le code source de l'upload, qui est evidamment en BackgroundWorker.
Try
Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://xxxxxx" & picname), System.Net.FtpWebRequest)
request.Credentials = New System.Net.NetworkCredential("xxxxxx", "xxxxxx")
request.Method = System.Net.WebRequestMethods.Ftp.UploadFile
Dim File() As Byte = System.IO.File.ReadAllBytes(imgpath.Text)
Dim UpFile As System.IO.Stream = request.GetRequestStream()
UpFile.Write(File, 0, File.Length)
UpFile.Close()
UpFile.Dispose()
MessageBox.Show("File(s) uploaded successfully", "Done", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
If MessageBox.Show("Error Connecting To FTP," & vbNewLine & "Please try again", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) _
= Windows.Forms.DialogResult.Retry Then
Exit Sub
End If
End Try
Ce code fonctionne tres bien, mais je n ai vraiment aucune idee de la marniere de m y prendre pour renvoyer l'avancement de l upload a via BackgroundWorker1.ReportProgress( que dois-je inserer pour envoyer l avancement de l upload ?)
Merci infiniment a ceux qui prendront la peine de me repondre, je cherche comme un fou depuis des heures sur le net (en fait j y ai meme passe la nuit xD) mais rien a faire. Merci
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 8 juil. 2010 à 17:47
Salut,
si tu n'as qu'un fichier à
uploader je ne pense pas qu'avec
ce code tu puisses afficher
la progression de l'upload
mais par contre si tu en as plusieurs
tu peux rapporter la progression
avec un pourcentage que tu calcules
par rapport au nombre de fichiers
à uploader avec :
BackgroundWorker1.ReportProgress(nombre_de_fichier_uploadés)
qui appelle l'évenement
BackgroundWorker1_ProgressChanged
Avec une variable déclarée au début de ton code
qui contient le nombre de fichiers à uploader
tu pourras calculer le pourcentage de progression
par rapport au nombre de fichier uploadés.
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 8 juil. 2010 à 18:10
ps : sinon tu n'est pas obligé
de mettre l'argument nombre_de_fichier_uploadés
je te dis ça car dans l'aide qui s'affiche
dans vb2008 ils disent que le premier arugment
doit être compris entre 0 et 100 alors
que c'est un integer (dont la valeur
est comprise entre -2 147 483 648 et 2 147 483 647...).
Sinon tu peux simplement appeller l'évenement avec :
BackgroundWorker1.ReportProgress(1) '' Tu peux mettre 1 ou n'importe quel autre nombre car dans la méthode que je te donnes on ne sert pas de ce nombre
et une fois l'évenement appelé tu fait le
calcul du pourcentage avec une variable
qui contient le nombre de fichiers uploadés
et une autre variable qui contient le total de fichiers
à uploader... C'est comme ça que je fais...
Si tu as besoin d'aide pour le code tu peux aller voir le
code que contient l'évenement BackgroundWorker1_ProgressChanged
dans ma source ( http://www.vbfrance.com/codes/FILTER-FAIRE-MOSAIQUES-IMAGES_51902.aspx ), c'est un programme tout autre
mais qui utilise un backgroundworker...