
お世話になっております
表題、WebView2を使用したWindowsフォームアプリを製作しております
今回、ファイルのダウンロードにおいてダウンロード先を明示的に指定する必要が出てきまして、その方法についてご教示願いたいです
今回、ファイルのダウンロードにおいて、直接のURL指定ではなく、
VB.NET
1 Await WebView2.ExecuteScriptAsync("document.querySelector('a[href=""javascript:downloadFile(160029731984, 160001341086)""]').click();") 2’(ExecuteScriptAsync内にはjavascriptを書き込みます’
のようにページ内限定のjavascriptを指定してダウンロードを行わなくてはなりません
直接URL指定すると、.NavigationStartingイベント内で
VB.NET
1 Private Sub WebView2Control_NavigationStarting(sender As Object, e As CoreWebView2NavigationStartingEventArgs) Handles WebView2.NavigationStarting 2 ' ダウンロード URL を検出する条件を指定します 3 Dim downloadUrl As String = "ダウンロードするURL" 4 If e.Uri = downloadUrl Then 5 ' ダウンロードをキャンセルします 6 e.Cancel = True 7 8 ' ダウンロード処理を行います 9 Dim filePath As String = "C:\いろいろ" ' 保存先のファイルパスを指定してください 10 11 ' ファイルをダウンロードして保存します 12 Dim wc As New System.Net.WebClient() 13 wc.DownloadFile(downloadUrl, filePath) 14 End If 15 End Sub
のように一度ダウンロードをキャンセルして、.DownloadFileを使ってダウンロード先を指定できるとあったのですが今回はこの方法はできないと思います
情報、ご教示願います
追記
Shikaku’sBlog様の
https://blog.systemjp.net/entry/2021/11/10/105203
の方法で、DownloadStartingイベントを使いましたが「ダウンロードできませんでした -ダウンロードエラー」となり、ダウンロードができませんでした
追記2
開発環境は
Windows10
Visual studio 2019
Windowsフォームアプリ
ターゲットフレームワーク:.NET Framework4.7.2
VB.NET
です





回答2件
あなたの回答
tips
プレビュー