Получить файл предыдущей версии в приложении, размещенном у поставщика, с клиентской объектной моделью

Как получить файл одной из предыдущих версий, используя клиентскую объектную модель. С кодом я получаю объект Microsft.sharepoint.client.FileVersion, как и ожидалось.

Но попытка выполнить Web.GetFileByServerRelativeUrl(FileVersion.Url) не удалась.

Я знаю, что в объектной модели сервера мы можем использовать SPFileVersion.OpenBinaryStream().

Ищете решение для клиентского объектного режима.

Я получаю сообщение об ошибке «Файл не найден», когда я указываю относительный URL-адрес.

По-видимому, нет ничего плохого в относительном формате URL-адреса, поскольку он работает для обычного файла получения для любых других файлов, кроме файлов версий.


person Mandar Jogalekar    schedule 25.08.2014    source источник


Ответы (1)


Я решил это, используя 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;

        }
person Mandar Jogalekar    schedule 25.08.2014