2011-10-06 6 views
0

Je dois automatiser le téléchargement d'un fichier à partir de ce site http://stats.smith.com/reports/Default.aspx?btnGo=View+Report. Mon problème est une fois que je clique sur le soumettre mais je perds le contrôle et une boîte de dialogue de téléchargement apparaît. Existe-t-il un moyen de télécharger le fichier en utilisant C# et d'éviter la boîte de dialogue de téléchargement? J'utilise actuellement l'objet WebBrowser dans l'assembly Forms pour naviguer dans la page.C# télécharger le contenu Web après soumettre

Répondre

0

Si vous souhaitez enregistrer un fichier téléchargé dans le système de fichiers à partir d'un navigateur Web, il doit y avoir une interaction de l'utilisateur. Une page Web n'a pas l'autorisation de déblatérer dans le système de fichiers d'un client.

Si vous souhaitez afficher la page dans le navigateur, vous pouvez essayer en supprimant l'en-tête de réponse du serveur Content-Disposition=attachment;... lorsque le fichier est téléchargé. Cela ne fonctionnera que si le navigateur a configuré le navigateur pour afficher ces types de fichiers dans le navigateur.

1

Jetez un oeil à la classe WebClient

+0

Le problème avec cela est que je n'ai pas d'uri à utiliser pour télécharger le contenu. – Steven

0

Votre question ne précise pas ce que vous utilisez pour télécharger le fichier. Si vous demandez si vous pouvez avoir un programme qui s'exécute sur un client (application WinForms, console ou service Windows), vous pouvez télécharger un fichier à partir d'un site Web à l'aide de la classe System.Net.WebClient et appelant la méthode DownloadFile().

La réponse acceptée here (légèrement différente de la question, donc ce n'est pas un doublon) a un lien pour montrer comment télécharger un fichier qui nécessite d'abord un post HTTP.

Si vous essayez d'automatiser Internet Explorer via un javascript à partir d'une page Web que vous hébergez pour forcer un fichier à télécharger sur un utilisateur sans afficher la boîte de dialogue, alors non. Tu ne peux pas.

Questions connexes