我有使用ASP.NET Web窗体编写的网页。整个页面正文包装在一个form
标签中,在提交时,它将回复一个Excel文件而不是HTML页面。该页面还包含触发表单提交的JavaScript。普通的浏览器通过询问保存Excel文件的位置(Awesomium也这样做)来应对这种情况。使用Awesomium ASP.NET Web Form回发后自动下载
我无法修改页面,但我想自动下载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 – BjarkeCK
我之前没有使用这个Awesomium产品,但是有什么理由不以传统方式使用Content-Disposition? –
webcore.download是我第一次尝试:但问题是,事件从来没有触发:因为我声明,当我下载这个文件时,web.core中没有事件被触发。 –