Я использую PnP JS, чтобы проверить, существует ли файл в библиотеке документов SharePoint.
Библиотека предлагает следующую функцию для получения файла:
const file: IFile = sp.web.getFileByServerRelativeUrl(newPageServerRelativeUrl);
Обычно в SharePoint CSOM или SSOM есть свойство Exists
, чтобы проверить, действительно ли файл существует, потому что эти вызовы всегда возвращают объект, и только с Exists
вы знаете, действительно ли он существует.
I не удается найти это свойство Exists
непосредственно на IFile
: введите описание изображения здесь
Но когда я копаю глубоко, я вижу, что есть IFileInfo
, обладающее этим свойством.
Видите, когда я «поднимаюсь вверх» по цепочке наследования:
getFileByServerRelativeUrl(fileRelativeUrl: string): IFile;
export interface IFile extends _File, IDeleteableWithETag { ... }
export declare class _File extends _SharePointQueryableInstance<IFileInfo> { ... }
export interface IFileInfo {
readonly "odata.id": string;
Exists: boolean;
...
}
Я исхожу из фона C#, но, насколько я понимаю (что явно неверно? :-)), IFile
также должен предлагать свойства IFileInfo
. По крайней мере, это имело бы смысл, зная, как обычно создается SharePoint API, но, может быть, PnP JS делает здесь что-то другое? А может проблема с импортом?