从WebBrowser组件获取下载的文件路径

时间:2015-02-08 19:57:05

标签: c# .net winforms

使用C#中的WebBrowser组件,是否可以获取用户下载文件的文件路径?

例如,用户使用WebBrowser浏览任意网站,然后点击链接下载,例如PDF。弹出默认下载管理器并提示用户保存文件,用户可以将文件下载到他们选择的位置;但我不知道他们在哪里保存了这个文件。

这实际上是否可以使用WebBrowser控件?

2 个答案:

答案 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浏览器组件时,您可以处理所有事件。例如,您可以处理右键单击,覆盖菜单并显示自定义菜单。

因此,当用户点击链接或右键单击时,您可以显示自己的对话框而不是系统对话框,然后您可以从自己的对话框中获取下载文件的路径。