在具有客户端对象模型的提供程序托管的应用程序中获取以前的版本文件



如何使用客户端对象模型获取以前版本的文件。我得到的代码Microsft.sharepoint.client.FileVersion对象。

但是尝试执行Web.GetFileByServerRelativeUrl(FileVersion.Url)失败。

我知道,在服务器对象模型中,我们可以使用SPFileVersion.OpenBinaryStream()

正在寻找客户端对象模式解决方案。

当我提供相对url时,我得到错误为"找不到文件"。

相对url格式显然没有什么问题,因为它适用于除版本文件外的任何其他文件的普通get文件。

我通过ussing WebClient下载文件数据解决了这个问题。没有可用于此目的的sharepoint客户端对象模型方法。这是有效的。

public static byte[] GetByteArrayFromVersionFile(Web web,string fileVersionUrl)
        {
            WebClient wc = new WebClient();
            wc.UseDefaultCredentials = true;
            wc.Headers.Add("user-agent", " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");
            byte[] content = wc.DownloadData(web.Url + "/" + fileVersionUrl);
            return content;
        }

相关内容

  • 没有找到相关文章

最新更新