【发布时间】:2013-12-04 21:22:29
【问题描述】:
我目前使用this solution 通过javascript 下载excel 文件。当用户单击一个按钮时,我的 javascript 会创建一个我用 iframe 加载的 url。此解决方案适用于短网址。但是,我遇到了一个情况,即我的 url 对于get 请求来说太长了。我想保留相同的行为,以便没有为 excel 导出打开新窗口。但是,如有必要,我可以打开一个临时窗口。我想到了一种我想避免的解决方案:
- 发出
POST请求,创建 excel 文件,将其保存到临时文件夹,并返回唯一的文件名。 - 在为 iframe 构建的 url 中请求文件名。
我不喜欢这个解决方案,因为它需要大量的工作来设置一个临时文件夹,该文件夹将在我们所有的网络服务器之间共享。另外,如果不需要,我宁愿不创建临时文件。
当前代码:
$("body").append('<iframe width="0" height="0" frameborder="0" src="' + dynamicallyCreatedUrl + '"></iframe>');
有没有办法可以发出POST 请求以通过 javascript 下载 excel 文件?
此解决方案必须适用于 IE8+、Firefox、Chrome。仅供参考:我使用的是 IIS7、ASP.Net MVC、C#。我可以访问YUI 和JQuery。
【问题讨论】:
标签: javascript browser download