我使用以下代码导航到特定网址,如下所示:
WebBrowser1.Navigate("http://192.168.0.157/cm?cmnd=POWER%20Toggle"
事实是链接返回 .json 文件,WebBrowser
控件显示默认的保存文件对话框,询问我是要保存文件还是运行它。
我想忽略对话框并直接从 .json 文件中读取(我的意思是在下载后)。
我只想摆脱webbrowser的保存对话框。我是新手,所以我不知道该搜索什么或如何正确询问。
答案 0 :(得分:1)
虽然你的帖子甚至不是标准的并且几乎没有解释这个问题,但到目前为止我所理解的是你有一些问题我会分开回答。
禁用网络浏览器的下载对话框并自动下载文件
首先,您提到它会返回 .json 文件。因此,您可以轻松地向表单添加SaveFileDialog
或设置自定义路径(可能在变量中),并检查webbrowser是否正在尝试下载任何 .json 文件。然后你会Cancel
来电(通常我的意思是取消弹出的保存,运行 ...)并使用{{1} }或本地变量将文件直接保存到磁盘。这是一个使用本地字符串变量作为路径并将 .json 文件直接保存到磁盘的示例:
SaveFileDialog
显示结果AKA .json
反序列化/解析.json文件非常容易。但首先,下载this,解压缩ZIP并将 Imports System.ComponentModel
...
Dim filepath As String '''class lever variable
Private Sub myBroswer_Navigating(sender as Object, e As WebBrowserNavigatingEventArgs) Handles myBroswer.Navigating
If e.Url.Segments(e.Url.Segments.Length - 1).EndsWith(".json") Then
e.Cancel = True
filepath = "C:\test\" + e.Url.Segments(e.Url.Segments.Length - 1)
Dim client As WebClient = New WebClient()
AddHandler client.DownloadFileCompleted , AddressOf New AsyncCompletedEventHandler(DisplayJson);
client.DownloadFileAsync(e.Url, filepath)
End If
End Sub
提取到Add Reference
。现在考虑以下代码段:
Newtonsoft.Json.dll
希望这有帮助