Xpages 是否有一种简单的方法允许用户从viewPanel下载所选文档中的文件?

Xpages 是否有一种简单的方法允许用户从viewPanel下载所选文档中的文件?,xpages,Xpages,我有一个门户网站,用户登录后可以看到一堆文档,这些文档按年份分类,然后按类别分类。他们希望在每个文档旁边都有一个复选框,这样他们可以选择一个或多个文档,然后按下按钮从所选文档下载所有文件 每个文档只有一个文件 有没有一种简单的方法可以编写这样的程序?您想一次下载所选文档中的附件 创建一个包含所有附件的zip文件,并下载一个zip文件 您可以从文档的附件中找到创建zip文件的代码 以一种方式扩展此代码,即运行所有选定的文档并从中获取附件 在XPage的按钮中设置一个会话范围变量,该变量包含所有选定

我有一个门户网站,用户登录后可以看到一堆文档,这些文档按年份分类,然后按类别分类。他们希望在每个文档旁边都有一个复选框,这样他们可以选择一个或多个文档,然后按下按钮从所选文档下载所有文件

每个文档只有一个文件


有没有一种简单的方法可以编写这样的程序?

您想一次下载所选文档中的附件

创建一个包含所有附件的zip文件,并下载一个zip文件

您可以从文档的附件中找到创建zip文件的代码

以一种方式扩展此代码,即运行所有选定的文档并从中获取附件

在XPage的按钮中设置一个会话范围变量,该变量包含所有选定文档的ID,并打开XPage zip.xsp(XSnippet的XAgent)


从zip.xsp中的会话范围读取ID,获取文档及其附件,并将它们全部放在一个zip文件中

。。。
var selectedIds=sessionScope.selectedIds;
对于(i=0;i

作为一个备选方案,您可以通过多个
窗口一次下载所有文件。在客户端打开(url)

  • 在服务器端收集所有附件的URL
  • 将它们写入隐藏的输入字段中
  • 在onComplete事件中执行CSJS代码,在单独的窗口中打开每个URL
这是一个工作示例代码:



但是,如果您有很多附件,这种替代解决方案会感觉有点混乱…

您希望一次从所选文档下载附件

创建一个包含所有附件的zip文件,并下载一个zip文件

您可以从文档的附件中找到创建zip文件的代码

以一种方式扩展此代码,即运行所有选定的文档并从中获取附件

在XPage的按钮中设置一个会话范围变量,该变量包含所有选定文档的ID,并打开XPage zip.xsp(XSnippet的XAgent)


从zip.xsp中的会话范围读取ID,获取文档及其附件,并将它们全部放在一个zip文件中

。。。
var selectedIds=sessionScope.selectedIds;
对于(i=0;i

作为一个备选方案,您可以通过多个
窗口一次下载所有文件。在客户端打开(url)

  • 在服务器端收集所有附件的URL
  • 将它们写入隐藏的输入字段中
  • 在onComplete事件中执行CSJS代码,在单独的窗口中打开每个URL
这是一个工作示例代码:



但是,如果你有很多附件,这个替代解决方案会感觉有点混乱…

所以我最终解决了这个问题。使用in和一些的邮政编码组合。完成后,我将发布我的最终代码


事实证明,我不需要从服务器文件系统下载附件文件。

因此我最终解决了这个问题。使用in和部分的邮政编码组合。完成后,我将发布我的最终代码


事实证明,我不需要从服务器文件系统下载附件,而需要从服务器文件系统下载文件。

提供了一些很好的信息来说明如何做到这一点。如果你想链接到文档中的第一个附件,请查看。谷歌搜索的第四个链接显示,这个问题可能是的重复。谢谢谷歌帮助Eric.LOL。我希望找到一个排序示例,允许在视图顶部有一个按钮,可以从每个选定文档(使用复选框)下载文件。我知道如何浏览选定文档列表(我想)但不知道如何调用每个下载。我希望有人已经这样做了,不会介意分享一些代码,我不必重新发明轮子,可以说。我很高兴这是赞赏:-P在任何情况下,我喜欢克努特的答案,特别是因为zip是事实上的多附件标准。提供了一些相当好的信息关于如何做到这一点。如果你想链接到文档中的第一个附件,请查看。谷歌搜索的第四个链接显示,这个问题可能是的重复。感谢谷歌的帮助Eric.LOL。我希望找到一个排序示例,允许在视图顶部有一个按钮,从中下载文件每个选定文档(使用复选框)。我知道如何浏览选定文档列表(我想)但不知道如何调用每个下载。我希望有人已经这样做了,不会介意分享一些代码,我不必重新发明轮子,可以说。我很高兴这是赞赏:-P在任何情况下,我喜欢克努特的答案,特别是因为zip是事实上的多附件标准。这不起作用。这是一个审计那是什么