2016-10-20 3 views
1

Lorsque j'essaie de télécharger 2 ou plus d'éléments dans le même sous-point, DotNetBrowser télécharge simplement le dernier. Que devrais-je faire pour télécharger les deux éléments dans l'exemple?Télécharger plus de 2 fichiers dans le même sous-site en utilisant DotNetBrowser

Sub test() 
    _browserview = CType(Me.PanelBrowser.Controls("browsername"), WinFormsBrowserView) 
    _browserview.Browser.LoadURL("http://www.7-zip.org/a/7z1604.exe") 
    _browserview.Browser.LoadURL("http://www.7-zip.org/a/7z1604-src.7z") 
End Sub 

Répondre

1

Voici un bref exemple qui illustre l'approche qui peut être utilisé pour télécharger plusieurs fichiers:

Imports System.Threading 
Imports DotNetBrowser 

Module Module1 

    Sub Main() 
     Dim browser As Browser 
     browser = BrowserFactory.Create() 
     browser.DownloadHandler = New SampleDownloadHandler 
     DownloadFile(browser, "http://www.7-zip.org/a/7z1604.exe") 
     DownloadFile(browser, "http://www.7-zip.org/a/7z1604-src.7z") 
     Console.In.ReadLine() 
     browser.Dispose() 
    End Sub 

    Class SampleDownloadHandler 
     Implements DownloadHandler 

     Public Event AllowDownloadCalled(download As DownloadItem) 

     Public Function AllowDownload(download As DownloadItem) As Boolean Implements DownloadHandler.AllowDownload 
      AddHandler download.DownloadEvent, Sub(s, e) 
                If e.Item.Completed Then 
                 Console.WriteLine("Downloaded: " + e.Item.DestinationFile) 
                End If 
               End Sub 

      Console.WriteLine("Download allowed: " + download.URL) 
      RaiseEvent AllowDownloadCalled(download) 
      Return True 
     End Function 
    End Class 

    Private Sub DownloadFile(browser As Browser, url As String) 
     Dim downloadHandler As SampleDownloadHandler 
     downloadHandler = browser.DownloadHandler 

     Dim downloadEvent As New ManualResetEvent(False) 
     Dim allowDownloadEvent As New SampleDownloadHandler.AllowDownloadCalledEventHandler(Sub(d As DownloadItem) downloadEvent.Set()) 

     AddHandler downloadHandler.AllowDownloadCalled, allowDownloadEvent 
     browser.LoadURL(url) 
     downloadEvent.WaitOne() 
     RemoveHandler downloadHandler.AllowDownloadCalled, allowDownloadEvent 
    End Sub 
End Module 

L'échantillon complet qui montre comment gérer ce cas peut être trouvé par le lien suivant: https://dotnetbrowser.support.teamdev.com/support/solutions/articles/9000110831-downloading-several-files