Невозможно получить вложение от URL - PullRequest
0 голосов
/ 13 мая 2019

Мне нужно получить вложение, хранящееся в документе Lotus Notes, используя URL-адрес.

Я могу получить документ, хорошо, но когда я пытаюсь получить URL-адрес, чтобы получить вложение, я получаю вложение 404не найден.

Попытка с использованием примеров в руководстве Domino Data Service

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

URL для получения документа:

https://mym.dev -imaginovation.net / Приложения / Корреспонденция / 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

, когда я пытаюсь использовать URL

https://mym.dev -imaginovation.net / Приложения / Переписка / corr2017.nsf / api / данные / документы / unid / FB1620DDCA1D8C538025836000401312 / $ File / 081409362-E_Notif_GoThrough_Regist.PDF

Я получаю веб-страницу

{"code": 404, "text": "Not Found", "message": "Attachmentне найден "}

Есть идеи?

(ссылки не работают, так как сайт разработчика не доступенssible от www)

Спасибо

Грэм

1 Ответ

1 голос
/ 13 мая 2019

Данные уже находятся в ответе на запрос документа 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, чтобы получить ссылку на вложение вместо содержимого вложения.Просто добавьте ?attachmentlinks=true в конец URL запроса.Это приведет к тому, что ответ будет иметь свойство contentLocation, значением которого является относительный URL-адрес данных вложения.

Важное замечание: Параметр attachmentlinks был добавлен в Domino.9.0.1 FP9.Если вы используете более старую версию Domino, ?attachmentlinks=true игнорируется.

...