我有一个使用ASP.NET Web Forms编写的网页。页面主体完全包含在
我无法修改页面,但我想自动下载Excel文件。我不能使用HTTP客户端,因为上述JavaScript计算许多复杂的事情,很难模拟;每次调用函数时,它都会返回表单的不同操作值。
我目前正在使用Awesomium.net,并已配置它开始下载。使用Fiddler,我看到文件的下载正确启动了。不幸的是,它似乎没有完成:(。或者,文件被检索到,但在Awesomium.net中没有任何更改:没有事件被触发以告知我下载已完成,我也不知道在哪里检索此文件。
我怀疑是因为返回的MIME类型不是
因此,我没有收到任何事件(或者,我正在查找错误的地方),也没有可能以编程方式确定文件何时到达。
有没有办法解决这个问题?也许拦截所有的回复? 我需要以编程方式控制“另存为”对话框并选择保存文件的位置。
form
标签中,当提交时,它回复的是Excel文件而不是HTML页面。该页面还包括触发表单提交的JavaScript。正常的浏览器通过询问要保存Excel文件的位置来应对这种情况(Awesomium也会这样做)。我无法修改页面,但我想自动下载Excel文件。我不能使用HTTP客户端,因为上述JavaScript计算许多复杂的事情,很难模拟;每次调用函数时,它都会返回表单的不同操作值。
我目前正在使用Awesomium.net,并已配置它开始下载。使用Fiddler,我看到文件的下载正确启动了。不幸的是,它似乎没有完成:(。或者,文件被检索到,但在Awesomium.net中没有任何更改:没有事件被触发以告知我下载已完成,我也不知道在哪里检索此文件。
我怀疑是因为返回的MIME类型不是
text/html
,而是application/vnd.ms-excel
;我猜想Awesomium期望一个HTML文件,不知道如何处理Excel文件。它试图显示“另存为”模式对话框,但由于在无头服务中使用,没有弹出窗口可用。因此,我没有收到任何事件(或者,我正在查找错误的地方),也没有可能以编程方式确定文件何时到达。
有没有办法解决这个问题?也许拦截所有的回复? 我需要以编程方式控制“另存为”对话框并选择保存文件的位置。
WebCore.Download
吗? http://docs.awesomium.net/html/E_Awesomium_Core_WebCore_Download.htm - BjarkeCKContent-Disposition
方式来做呢? - Michael Coxon