2015-04-16 39 views
0

我有异步线程下载与webClient.DownloadFileAsync()和处理downloadCompleted事件。如何在VB.NET上获取下载的文件名

我想知道当事件升起时,下载的文件是什么。我尝试与事件的发件人,但webClient没有任何方法。

这是一个桌面应用程序的Windows,播放视频一个接一个。 dowloaded文件的名称是重要的,因为视频的重量可能很大,下载文件时,程序必须显示它。

现在,直到下载了所有文件,该应用程序才将视频添加到播放列表,因为我不知道下载的视频被调用了什么。视频从服务器下载。

 Private Sub myWebClient_DownloadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles myWebClient.DownloadFileCompleted 
    Dim mySender As WebClient = CType(sender, WebClient) 

    videoName = mysender. 'Here is where I try to obtain downloaded file's name 
    Dim VideoFile1 As WMPLib.IWMPMedia3 = AxWindowsMediaPlayer1.newMedia(path & videoName) 
    Playlist.appendItem(VideoFile1) 

End Sub 

回答

1

当你调用DownloadFileAsync方法,调用与文件名像.DownloadFileAsync(url, filename, filename)参数,那么你可以得到的文件名作为 Dim filename As String= CType(e.UserState, String)myWebClient_DownloadFileCompleted方法

+0

哦,谢谢@HansPassant。更新了我的答案。 – Damith

+0

在vb.NET中事件方法的情况下,通常被命名为'e',比如'Dim filename As String = CType(e.UserState,String)'。谢谢你们。 – Buggy