我正在使用最新的GeckoFX 18(hindlemail的分支),并努力实现这个简单的方法:处理文件下载。
我想知道GeckoWebBrowser中是否有文件下载。没有文件下载事件,更糟糕的是:单击导致文件下载的链接不会触发/任何/事件。它只是没有做任何事情。没有下载对话框,没有保存文件对话框,没有网址,没有任何内容。
我有办法处理文件下载吗?
答案 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发送给服务器的标题,但我发现没什么用处。