如何在GeckoFX中处理文件下载?

时间:2013-04-15 15:30:57

标签: .net vb.net geckofx

我正在使用最新的GeckoFX 18(hindlemail的分支),并努力实现这个简单的方法:处理文件下载。

我想知道GeckoWebBrowser中是否有文件下载。没有文件下载事件,更糟糕的是:单击导致文件下载的链接不会触发/任何/事件。它只是没有做任何事情。没有下载对话框,没有保存文件对话框,没有网址,没有任何内容。

我有办法处理文件下载吗?

1 个答案:

答案 0 :(得分:2)

通过使用hindlemail的geckofx分支,你将不得不处理LauncherDialog.Download事件。 此事件有几个参数,如url,filename等。

LauncherDialog.Download += LauncherDialog_Download;
////
void LauncherDialog_Download(object sender, LauncherDialogEvent e)
{
    string filename = e.Filename; //do something with filename
    string url = e.Url; //use webclient to download file from this url
}

即便如此,您也无法从安全网站(如Dropbox或facebook)下载文件,但它会下载更好的内容。我对xul知之甚少,所以我也很难下载文件。

我也试过了:

void LauncherDialog_Download(object sender, LauncherDialogEvent e)
{
    WebBrowser ie = new WebBrowser();
    ie.Navigate(e.Url);
}

如果可以通过这种方式下载文件,它将显示Internet Explorer下载文件对话框。 可能是请求标头或其他原因。我还使用Fiddler来找出Firefox发送给服务器的标题,但我发现没什么用处。

相关问题