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



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

我想知道是否有一个文件下载发生在GeckoWebBrowser。没有文件下载事件,更糟糕的是:点击链接导致文件下载不会触发/任何/事件。它并没有什么作用。没有下载对话框,没有保存文件对话框,没有url,什么都没有。

有没有办法处理文件下载

通过使用hindlemail的geckofx分支,您将不得不处理LauncherDialog。下载的事件。此事件有几个参数,如url,文件名等。

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);
}

如果文件可以通过这种方式下载,它将显示ie下载文件对话框。可能是请求头之类的原因。我还使用Fiddler来查找Firefox发送给服务器的报头,但我发现没有什么有用的

最新更新