使用C#中的WebBrowser
组件,是否可以获取用户下载文件的文件路径?
例如,用户使用WebBrowser
浏览任意网站,然后点击链接下载,例如PDF。弹出默认下载管理器并提示用户保存文件,用户可以将文件下载到他们选择的位置;但我不知道他们在哪里保存了这个文件。
这实际上是否可以使用WebBrowser
控件?
答案 0 :(得分:1)
你可以试试这个:
private void webBrowser1_Navigating(object sender,
WebBrowserNavigatingEventArgs e)
{
e.Cancel = true;
WebClient client = new WebClient();
client.DownloadDataCompleted += new DownloadDataCompletedEventHandler(client_DownloadDataCompleted);
client.DownloadDataAsync(e.Url);
}
void client_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
string filepath = textBox1.Text;
File.WriteAllBytes(filepath, e.Result);
MessageBox.Show("File downloaded");
}
答案 1 :(得分:0)
托管Web浏览器组件时,您可以处理所有事件。例如,您可以处理右键单击,覆盖菜单并显示自定义菜单。
因此,当用户点击链接或右键单击时,您可以显示自己的对话框而不是系统对话框,然后您可以从自己的对话框中获取下载文件的路径。