Я пытаюсь получить файл, который можно загрузить по следующему URL-адресу https://notarealurl.com/sites/name/subname/My%20Folder/test.htm следующим способом:
fetch("/_api/web/GetFileByServerRelativeUrl('/sites/name/subname/My%20Folder/test.htm')/$value");
Однако он возвращает 404. У меня есть пробовал с и без декодирования URL. Также, используя следующий запрос, не возвращает никакого файла, просто почти пустой ответ. Запрос:
fetch("/_api/web/GetFolderByServerRelativeUrl('/sites/name/subname/My%20Folder')/files");
Ответ:
<?xml version="1.0" encoding="utf-8"?><feed xml:base="https://notarealurl.com/_api/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"><id>ab8997b7-04a9-4e43-a63f-486e9477e31b</id><title /><updated>2020-04-08T12:00:40Z</updated><author><name /></author></feed>
Я протестировал следующую конечную точку, и она хорошо работает.
_spPageContextInfo.webAbsoluteUrl/_api/web/GetFileByServerRelativeUrl('_spPageContextInfo.webServerRelativeUrl/DocuentLibraryName/DocumentName')/$value
И вот одна из похожих тем для вашей справки: Как загрузить файл из библиотеки документов с помощью Rest Api
С наилучшими пожеланиями, Бейкер Конг
Правильный URL-адрес API начинается с родительского каталога, правильный:
fetch("/sites/name/subname/_api/web/GetFileByServerRelativeUrl('/sites/name/subname/My%20Folder/test.htm')/$value");