【问题标题】:Lotus Script Web Agent: Send binary data back to browserLotus Script Web Agent:将二进制数据发送回浏览器
【发布时间】:2016-08-10 16:06:14
【问题描述】:

我有一个 Lotus Script Agent,它将返回一个解码的 PDF 文件(作为附件),该文件作为 base64 编码字符串存储在 Notes 中:

Print("Content-type: application/pdf")
Print(DecodeBase64(PDFContentBase64))

问题在于 PDF 包含空字节,并且 Print 语句似乎在遇到的第一个空字节处终止。有没有办法从 Lotus Notes 代理将二进制数据发送回用户的浏览器?

【问题讨论】:

  • 用 Java 编写您的代理或查看 this entry 或者您是否尝试按原样发​​送 base64 内容?
  • 我已尝试按原样发​​送 base64 内容,但 Chrome 显示“不是有效的 PDF 文档”。
  • 如果您需要在 LotusScript 中执行此操作,那么它的一种工作方式是将 pdf 作为附件编写并将其链接发送到浏览器
  • 如果你想以 base64 格式发送,你需要设置一个 content-transfer-encoding 标头。

标签: lotus-domino lotusscript


【解决方案1】:

让代理打印应该由浏览器解释的内容可能不是您的最佳选择。

您可以将 PDF 附加到文档中,然后将该文档呈现给用户。

根据机密性问题和您的管理员的合作程度,另一种可能适合也可能不适合的方法是将 pdf 保存在服务器上的 data/domino/html 目录中,然后将相应的 URL 传递给浏览器。

【讨论】:

  • 我们选择的正是这样:将 PDF 保存在 data/domino/html 目录中,并向浏览器发送一个 http 重定向。
猜你喜欢
  • 2011-12-04
  • 2010-09-30
  • 2014-07-27
  • 2012-09-10
  • 2015-10-22
  • 1970-01-01
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
相关资源
最近更新 更多