2017-07-31 2 views
0

J'utilise dotnetbrowser pour afficher un navigateur Web sur une ancienne infrastructure Windows. avez-vous une idée pour définir le chemin de téléchargement? Mon dotnetbroser est activé, je peux montrer ma page Web mais je ne trouve pas dans la documentation ou l'exemple comment définir ce chemin de téléchargement simple.Définir le chemin de téléchargement dotnetbrowser

Le seul exemple que j'ai trouvé concerne la détection d'événement de téléchargement. J'utilise WPF en C#

Merci.

Répondre

0

La propriété DotNetBrowser.DownloadItem.DestinationFile est accessible en écriture et peut être utilisée pour configurer le chemin d'accès au fichier. Pour définir cette propriété dans votre application, vous devez sous-classer DotNetBrowser.DefaultDownloadHandler et implémenter sa méthode AllowDownload(DownloadItem). Ensuite, vous devez configurer votre gestionnaire de téléchargement comme indiqué dans l'article de documentation: File Download

Vous pouvez également configurer et utiliser l'instance DotNetBrowser.WPF.WPFDefaultDownloadHandler pour afficher le sélecteur de fichier et sélectionner le chemin d'accès au fichier.

0
  • C'est une solution

DÉFINIR votre navigateur comme variable:

BrowserView myBrowserView; 
Browser myBrowser; 

Créer le navigateur correctement:

this.myBrowser = BrowserFactory.Create(); 
this.myBrowserView = new WPFBrowserView(this.myBrowser); 

Créer détection d'événements pour télécharger

this.myDowloadHandler = new SampleDownloadHandler(); 
this.myBrowser.DownloadHandler = myDowloadHandler; 

Ajouter à un conteneur, ici, une grille

grid_navigateur.Children.Add((UIElement)myBrowserView.GetComponent()); 

Maintenant, nous allons utiliser notre classe

class SampleDownloadHandler : DownloadHandler 
{ 
    public bool AllowDownload(DownloadItem download) 
    { 
     download.DestinationFile = "exemple\of\path\whith\file\name"; 

     download.DownloadEvent += delegate(object sender, DownloadEventArgs e) 
     { 
      DownloadItem downloadItem = e.Item; 
      if (downloadItem.Completed) 
      { 
       System.Windows.MessageBox.Show("Download complete"); 
      } 
     }; 

     return true; 
    } 

définir Ma classe personalisated chemin « SampleDownloadHandler » et le nom du fichier qui est télécharger et pop un message quand c'est fini.

(pour trouver le nom de fichier, vous devez couper la chaîne download.DestinationFile après la dernière)