Je cherche à ajouter une barre de progression à un téléchargement de fichier sur un WebService.Application C# Winforms - Barre de progression de téléchargement de flux
Je viens de commencer à travailler sur une application WinForms que je crois utilise WCF pour permettre au client de télécharger un document à notre référentiel d'entreprise. J'utilise un UploadService où je le passe un flux en plusieurs parties composé de métadonnées et d'un fichier. J'ai déjà pris soin de construire cette partie.
Je ne suis pas sûr de savoir comment aller sur la façon d'accrocher « quelque chose » au flux afin que je puisse le suivre en cours de téléchargement
J'ai vu des personnes qui utilisent un travailleur de fond pour suivre la progression d'un tâche asynchrone, mais ne peut pas trouver un exemple de quelqu'un qui fait cela pour suivre un fichier téléchargé sur un WebService. J'ai seulement l'air de trouver un exemple de quelqu'un qui suit le flux en cours de construction en mémoire.
Tout conseil/aide est apprécié.
Merci!
- (je suis un stagiaire, donc si je les choses mal-expliqué, je présente mes excuses, je serais heureux de fournir des détails plus clairs si nécessaire.)
modifier: D'après ce que je peux dire la méthode pour télécharger le flux ne prend qu'un flux, il n'y a pas d'option pour lui donner la taille du flux, ou combien d'octets à lire à la fois.
Merci pour la réponse! Honnêtement, je n'arrive pas à comprendre comment ils définissent le chunkSize. Je ne vois nulle part dans la base de code où ils se réfèrent même à Webclient.Uploadfile Il me semble qu'ils ont écrit leur propre méthode de téléchargement à l'intérieur d'une classe UploadService qui se trouve dans le WebService. Cette méthode prend simplement dans un flux. Est-il possible qu'ils définissent la taille de bloc max dans un app.config? – cicero866
Sans voir le code qui effectue le téléchargement, il est très difficile de réellement répondre comment appliquer cela à votre problème spécifique. – Clint
J'ai créé ma propre classe Stream personnalisée et j'ai fait un override de la méthode Read pour déclencher un évènement à chaque fois que read a été appelé. Il me donne ensuite la position actuelle dans le courant ainsi que la longueur actuelle. Je reçois maintenant cependant l'erreur suivante: "Inverse du flux multi-parties MIME. Le message multi-parties MIME n'est pas ocmplete." – cicero866