从HTTP POST返回文件

时间:2013-04-03 16:21:22

标签: javascript jquery ajax jsp post

我正在尝试找到一种方法来返回基于用户输入动态生成的文件。用户选择表中每行是文件的行,然后按下载链接。服务器(JSP)从数据库中检索文件并将它们压缩到一个文件中,然后将该文件发送回浏览器进行下载。

我已经设法通过一个简单的<a href="?action=testDownload"></a>链接来恢复文件,但每行有大约450个字符的密钥来识别它。其中超过4个将打破我的客户将使用的IE8的2083字符URL限制。

我知道我无法使用Ajax执行此操作,因为javascript无法访问本地文件系统,我不希望整个页面重新加载。还有什么其他选择?

我可以创建一个不重新加载整个页面并且还返回文件的HTTP帖子吗?

谢谢:)

2 个答案:

答案 0 :(得分:1)

您可以创建iframe,插入表单并通过JavaScript提交此表单。

以下示例来自Create an <iframe> element and append html content to it with jQuery

$('<iframe id="someId"/>').appendTo('#someDiv')
                          .contents().find('body').append(html);

“html”将是您表单的html。

答案 1 :(得分:0)

您可以通过单击下载按钮创建一个javascript函数,该按钮查看所有选定的行并将其发布到执行后端工作的jsp。