无法从网址获得附件

时间:2019-05-13 13:52:54

标签: json lotus-domino

我需要使用URL来获取存储在Lotus Notes文档中的附件。

我可以获取文档,好的,但是当我尝试通过URL获取附件时,却找不到404附件。

尝试使用Domino Data Service指南中的示例

http://infolib.lotus.com/resources/domino/8.5.3/doc/designer_up1/en_us/DominoDataService.html

获取文档的网址是

https://mym.dev-imaginovation.net/Applications/Correspondence/corr2017.nsf/api/data/documents/unid/FB1620DDCA1D8C538025836000401312

这将生成json,然后从这里我可以看到附件名称(如下所示)

  "boundary":"--0__=8FBB096ADFDA03268f9e8a93df938690918c8FBB096ADFDA0326"
          },
                    {
            "contentType":"application\/octet-stream; name=\"081409362-E_Notif_GoThrough_Regist.PDF\"",
            "contentID":"<2__=8FBB096ADFDA03268f9e8a93df93869091@local>",
            "contentDisposition":"attachment; filename=\"081409362-E_Notif_GoThrough_Regist.PDF\"",
            "contentTransferEncoding":"base64",
            "data":"JVBERi0xLjQKJeLjz9MKMSAwIG9iaiA8PC9EZWNvZGVQYXJtczw8L0sgLTEvQ29sdW1ucyAyN

当我尝试网址时

https://mym.dev-imaginovation.net/Applications/Correspondence/corr2017.nsf/api/data/documents/unid/FB1620DDCA1D8C538025836000401312/ $ File / 081409362-E_Notif_GoThrough_Regist.PDF

我得到一个网页

{     “代码”:404,     “ text”:“找不到”,     “消息”:“找不到附件” }

有什么想法吗?

(由于无法从www访问开发站点,因此这些链接不起作用)

谢谢

Graeme

1 个答案:

答案 0 :(得分:1)

数据已经在对GET文档请求的响应中:

{
    "contentType":"application\/octet-stream; name=\"081409362-E_Notif_GoThrough_Regist.PDF\"",
    "contentID":"<2__=8FBB096ADFDA03268f9e8a93df93869091@local>",
    "contentDisposition":"attachment; filename=\"081409362-E_Notif_GoThrough_Regist.PDF\"",
    "contentTransferEncoding":"base64",
    "data":"JVBERi0xLjQKJeLjz9MKMSAwIG9iaiA8PC9EZWNvZGVQYXJtczw8L0sgLTEvQ29sdW1ucyAyN ..."
}

data属性包含附件的base64编码的内容。 contentTransferEncoding属性告诉您如何进行编码。

根据您使用的Domino版本,还可以更改GET文档请求以获取附件链接而不是附件内容。只需在请求URL的末尾添加?attachmentlinks=true。这将导致响应具有contentLocation属性-该属性的值是附件数据的相对URL。

重要attachmentlinks参数已添加到Domino 9.0.1 FP9中。如果您使用的是Domino的旧版本,则?attachmentlinks=true将被忽略。