我不知道这一点很重要,但我使用Infragistics iggrid作为我的网格,并将它们的报告内容导出为PDF。如何在ASP.NET MVC中将网格导出为PDF格式
我的底层问题是我想要导出的数据在浏览器中,我宁愿不必创建服务器端文件进行下载。我们在屏幕上有一个图标,用户点击下载PDF。
所以我在客户端上做的是收集所有的数据。这必须在客户端完成,因为我想要在用户对数据进行排序,过滤和按列排序时导出数据(否则我可以只收集数据服务器端,这会使这更简单)。然后我通过POST将数据发送到服务器。
在服务器端,我生成PDF文件。现在,很明显,我可以保存PDF服务器端并重定向到生成的文件,但是它增加了我希望避免的临时文件的维护(但最糟糕的情况是,我可以去那里,只是现在就钓鱼) 。
我试图返回编码数据的base64,然后做:
window.open("data:application/pdf;base64," + encodedData);
这不工作(至少在IE),因为URL限制是有点过2K。
我尝试使用downloadDataURI javascript函数在这里:http://code.google.com/p/download-data-uri/
但只出现在Chrome工作(甚至注释掉WebKit的检查后),我显然没有足够的智慧找出原因。
我确定我错过了一些不需要创建服务器端文件的明显可能性,但我只是没有看到它。 (免责声明:今天早上我的女儿把我吓得很厉害,所以答案可能非常微不足道,明天当我的大脑工作时,我会觉得很愚蠢)。
是的,我是个白痴。我在做一个.ajax POST,但当然没有理由我不能做一个表单发布,而是... – Pete 2013-03-19 17:02:45