我正在尝试获取SharePoint中各种项目的预览网址。查看图像时,这样的事情会起作用:
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处理所有文件类型?
答案 0 :(得分:2)
我可以通过这样的方式获得预览链接:
Microsoft.SharePoint.Client.ClientContext clientContext;
Microsoft.SharePoint.Client.ListItem item;
var wopiFrameUrl = item.GetWOPIFrameUrl( Microsoft.SharePoint.Client.SPWOPIFrameAction.InteractivePreview );
clientContext.ExecuteQuery();
wopiFrameUrl.Value
是预览网址。如果null
是图像,它似乎会返回item
,在这种情况下,我使用问题中的代码构建LightBox URL。