从ListItem中的SharePoint API获取预览/灯箱URL

本文关键字:灯箱 URL 获取 ListItem 中的 SharePoint API | 更新日期: 2023-09-27 18:29:51

我正在尝试获取SharePoint中各种项目的预览URL。当查看图像时,类似这样的东西会起作用:

var sharePointServerUri = new Uri( item.Context.Url );
var sharePointFileUrl =
        HttpUtility.UrlEncode( string.Format( "{0}://{1}{2}", sharePointServerUri.Scheme, sharePointServerUri.Host, item.File.ServerRelativeUrl ) );
var lightBoxShareUrl = string.Format( "{0}_layouts/15/Lightbox.aspx?url={1}", sharePointServerUri.AbsoluteUri, sharePointFileUrl );

但是,这不适用于Word文档,只适用于图像/视频。

是否有更好的方法可以使用SharePoint API处理所有文件类型?

从ListItem中的SharePoint API获取预览/灯箱URL

我可以通过以下操作获得预览链接:

    Microsoft.SharePoint.Client.ClientContext clientContext;
    Microsoft.SharePoint.Client.ListItem item;
    var wopiFrameUrl = item.GetWOPIFrameUrl( Microsoft.SharePoint.Client.SPWOPIFrameAction.InteractivePreview );
    clientContext.ExecuteQuery();

并且wopiFrameUrl.Value是预览URL。如果item是一个图像,那么它似乎会返回null,在这种情况下,我使用问题中的代码来构建LightBox URL。