DownLoadFile方法

DownloadFile方法用于通过代码主动下载文件。

语法:

DownLoadFile(url, fileName)


url:要下载文件的URL
fileName:指定存储文件名,可以包含路径,如果不包含,就存储在默认目录。


需要注意的是:

1、用DownLoadFile下载文件,一样会触发DownloadStarting、DownloadStateChanged和DownloadProgressChanged事件。

2、虽然可以通过fieName自定存储路径和文件名,但最终的文件名可能有变化,可以通过
DownloadTaskAsync函数或DownloadStateChanged事件获得真实的文件名。

示例

窗口的AfterLoad事件代码如下,用于打开微信下载页面:

'''
Async
Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
Await
wv.EnsureCoreWebView2Async(Nothing)
wv.CoreWebView2.Navigate(
"https://pc.weixin.qq.com/")

添加一个按钮,用于下载微信:

Dim wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
wv.DownLoadFile("https://dldir1v6.qq.com/weixin/Universal/Windows/WeChatWin_4.1.11.exe", "c:\temp\wechat.exe")

可以
通过DownloadTaskAsync函数或DownloadStateChanged事件获取最终下载结果,例如:

'''Async
Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
wv.DownLoadFile(
"https://dldir1v6.qq.com/weixin/Universal/Windows/WeChatWin_4.1.11.exe", "c:\temp\wechat.exe")
Dim
downop As CoreWebView2DownloadOperation = Await wv.DownloadTaskAsync(600) '等候10分钟
If
downop Is Nothing Then '如果返回Nothing,表明下载根本没有启动,可能是服务器故障、链接错误或断网
    MessageBoxA.Show(
"下载启动失败")
ElseIf
downop.State = CoreWebView2DownloadState.Completed Then
   
Dim str As String = "url来源:" & downop.Uri & vbCrLf
    str = str &
"存储路径:" & downop.ResultFilePath & vbCrLf
    str = str &
"文件大小:" & downop.TotalBytesToReceive
    MessageBox.Show(str,
"下载成功")
ElseIf
downop.State = Microsoft.Web.WebView2.Core.CoreWebView2DownloadState.Interrupted Then
    MessageBoxA.Show(
"下载失败")
ElseIf
downop.State = Microsoft.Web.WebView2.Core.CoreWebView2DownloadState.InProgress Then
    downop.Cancel()
'取消下载,可选,如果不执行Cancel取消,则超时后会继续下载,最终可通过StateChanged事件获取状态
    MessageBoxA.Show(
"下载超时")
End
If

提示: DownLoadFile和DownloadTaskAsync两个函数之间,不应该有其他代码。


本页地址:http://www.foxtable.com/webhelp/topics/6891.htm