将多个NotesRichText字段附加到文件下载控件

时间:2019-05-16 12:31:09

标签: xpages

我目前正在使用XPages为旧的Notes数据库开发一个小型Web前端。

在大多数文档中,存在多个RT字段中的DWG文件和PDF文件,用户应该可以通过Web前端下载这些文件。由于文件分布在10-12个RTfield之间,因此对每个字段进行filedownload-control似乎是一个不好的解决方案。因此,我尝试通过SSJS将多个字段合并为一个字段,并将其作为文件下载控件的数据源。

<xp:fileDownload 
    rows="30" 
    id="fileDownload2" 
    displayLastModified="false" 
    displaySize="true" 
    displayType="false" 
    displayCreated="false">
    <xp:this.value>
       <![CDATA[#{javascript:
           var allfiles:lotus.domino.RichTextItem=plan.getDocument().getFirstItem("VPL_datei");
           allfiles.appendRTItem(plan.getDocument().getFirstItem("VPL_datei_1"));
           allfiles.appendRTItem(plan.getDocument().getFirstItem("PGL_datei"));
           allfiles.appendRTItem(plan.getDocument().getFirstItem("Plandatei"));
           var file1:com.ibm.xsp.model.domino.wrapped.DominoRichTextItem = new com.ibm.xsp.model.domino.wrapped.DominoRichTextItem(plan, allfiles);
           return file1;
        }]]>
     </xp:this.value>
</xp:fileDownload>

但这仅从第一个字段“ VPL_datei”中获取附件,并忽略其他字段中的所有附件。

是否可以合并字段或提供多个字段作为数据源?我一定不能编辑notesdocument或其格式。

1 个答案:

答案 0 :(得分:3)

无法通过这种方式即时合并RTItems。您必须先保存该项目...

但是您可以创建自己的“ FileDownload”-控件。

  

使用Domino URL访问附件

     

要使用Domino URL访问文件附件,必须知道视图名称,文档名称和文件附件名称。当Domino保存文件所附加的文档时,它会为文件附件生成URL。这些URL以附件的文件名结尾。

     

语法:

     

http://Host/DatabaseName/View/DocumentName/ $文件/文件附件名称

     

其中View是视图名称或视图ID,DocumentName是文档名称或ID。 $ File是一个特殊的标识符,指示文档的附件。 Fileattachmentname是附件的文件名。

     

示例:

     

http://www.acme.com/products.nsf/Documents/ $ File / Spec_sheet.pdf