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

时间:2014-11-10 19:30:07

标签: c# sharepoint office365

我正在尝试获取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处理所有文件类型?

1 个答案:

答案 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。