如何使用客户端对象模型获取以前版本的文件。 随着代码我得到 Microsft.sharepoint.client.FileVersion对象符合预期。
但是尝试做Web.GetFileByServerRelativeUrl(FileVersion.Url)失败。
在服务器对象模型中,我知道,我们可以使用SPFileVersion.OpenBinaryStream()
寻找客户端对象模式解决方案。
当我提供相对网址时,我收到“找不到文件”的错误。
相对url格式显然没有任何问题,因为它适用于除版本文件之外的任何其他文件的普通get文件。
答案 0 :(得分:0)
我通过使用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;
}