我需要使用url获取一个存储在Lotus文档中的附件。
我可以得到文档,但是当我尝试url获得附件时,我会得到一个404附件。
尝试使用Domino数据服务指南中的示例
us/DominoDataService.html
获取文档的url是
这会产生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当我尝试url时
https://mym.dev-imaginovation.net/Applications/Correspondence/corr2017.nsf/api/data/documents/unid/FB1620DDCA1D8C538025836000401312/$File/081409362-E_Notif_GoThrough_Regist.PDF
我有一个网页
{“代码”:404,“文本”:“未找到”,“消息”:“未找到附件”}
有什么想法吗?
(由于开发站点无法从www访问,所以链接无法工作)
谢谢
格莱姆
发布于 2019-05-13 14:40:01
数据已经在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 64编码内容。contentTransferEncoding属性告诉您如何对其进行编码。
根据使用的Domino版本,还可以更改GET文档请求以获取附件链接,而不是附件内容。只需将?attachmentlinks=true添加到请求URL的末尾即可。这将导致响应具有一个contentLocation属性--其值是附件数据的相对URL。
重要:在Domino9.0.1 FP9中添加了attachmentlinks参数。如果使用的是旧版本的Domino,则忽略?attachmentlinks=true。
发布于 2021-11-09 23:25:24
“$file”URL路径不是'api/data‘路径,但是您可以使用unid和文件名来构建另一个路径(假设您只想在任何Domino服务器上使用老式的方式):
或更广泛地说:
domain/app-path/db.nsf/view/key/$file/filename
domain/app-path/db.nsf/view/unid/$file/filename或使用“0”作为视图名称占位符:
域/app-path/db.nsf/0/unid/$file/filename
https://stackoverflow.com/questions/56113853
复制相似问题