通过XPage xp为上传的文件禁用LZ1压缩:fileUpload(与字节范围相关的服务)

时间:2013-09-11 10:44:39

标签: xpages

需要您的支持以解决以下问题。

输入:

  1. 我正在开发必须允许视频文件预览的XPage应用程序(在Domino 9上),因此必须提供字节范围的搜索。
  2. 根据指南Improving file-download performance for Web clients - Domino Server为未压缩的附件支持字节范围的搜索。
  3. 通过xp上传的视频文件:来自XPage的fileUpload控件。
  4. 在NSF DB上禁用LZ1压缩(在“属性” - >“高级”选项卡中)。
  5. 网站文档中也禁用了“压缩上传”。
  6. 我遇到 问题:

    上传文件(任何,* .wmv,* .mp4,.pdf)时 - 默认情况下它们在文档中变为LZ1压缩。 “压缩:LZ1” - 通过scanEZ显示。结果 - 这些文件不是字节范围的服务。

    如何在上传时禁用该压缩?

    P.S。如果通过Notes客户端上传文件,则在文件上载对话框中默认选中“压缩”复选框。如果取消选中 - 文件上传并保存未压缩在文档中,并且可用于字节范围服务。

    提前致谢!

2 个答案:

答案 0 :(得分:2)

经过很长一段时间,IBM为该解决方案提供了另一种“自动化”方式。

这仍然是解决方法,因为文件附件作为MIME实体附加到文档。解决方法是将以下参数放在xsp.properties中:

xsp.richtext.attachments.format.mime=true

答案 1 :(得分:0)

所以,伙计们,我为我的问题找到了解决方案! ))谢谢Sven,他向我展示了下面列出的解决方法。

在部分测试之后,我只看到以下两个先决条件,以便在从XPage上传文件后获取未在文档中压缩的附件:

1)在XPage上声明DataSource时,必须包含以下代码:

postNewDocument="#{javascript:fileDS.getDocument().convertToMIME()}"

2)xp:fileUpload控件必须定位到“Body”字段(并且只有“Body”字段)!


因此,XPage上的代码应如下所示:

<xp:this.data>
    <xp:dominoDocument
        var="fileDS"
        formName="fileContainer"
        postNewDocument="#{javascript:fileDS.getDocument().convertToMIME()}">    
    </xp:dominoDocument>
</xp:this.data>
<xp:fileUpload id="fileUpload1" value="#{fileDS.Body}"></xp:fileUpload>

通过满足这些先决条件,上传的文件会解压缩到文档中,因此通过以下链接访问它们:

http://hostname/dbname/docUNID/$FILE/fileName.ext

Domino使用字节范围为它们提供服务(Accept-Ranges:bytes - 在响应标头中显示)

再一次 - 感谢Sven!我是借款人! ))