在C#中的axWebBrowser控件中自动执行FileDownload的问题

时间:2011-04-28 19:31:31

标签: c# winapi download axwebbrowser beforenavigate2

我正在研究一个项目,试图在我的公司搜索一个内部网站点,因为现在有一些限制条件禁止我在服务器端获得帮助。我正在使用axWebBrowser控件编写一个C#客户端来导航到该页面。一旦在页面上,有一个按钮控件,它调用.aspx页面,该页面从sql查询创建动态下载csv文件。在正常情况下,这将打开FileDownload对话框以保存csv。

我找到了使用BeforeNavigate2事件捕获e.uRL然后使用FileDownload事件覆盖对话框并使用WebClient检索文件的人的示例。除了e.uRL包含.aspx脚本的url而不是动态创建的.csv文件之外,这种方法对我来说没问题。

我读到的另一个建议是解析文件路径的HTML请求中的标题,但是当我这样做时,我在标题上抛出了401 Unauthorized Access异常。

最后,如果可能,我更愿意避免这种情况,我考虑使用win32 api调用并使用FindWindow和SendMessage来浏览默认文件对话框,但我真的不想创建一个多线程应用程序等待才能做到这一点。我找不到在FileDownload对话框打开时触发的事件,只有在打开它之前或关闭它之后触发的事件。

您可能拥有的任何想法都会很棒,如果能够澄清我的解释,我可以在此处开始粘贴代码。

0 个答案:

没有答案