References
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint;
using SP = Microsoft.SharePoint.Client;
using System.IO;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint;
using SP = Microsoft.SharePoint.Client;
using System.IO;
Main program drive code
- Gets a list of documents from a document library
- Loops through the list of documents
- Checks if there is more than one version of the document
- Loops through the list of versions in a document library and calls downloadSharePointFile to download that version.
ListItemCollection collListItem = querySharePointList(list.Title);
foreach (ListItem oListItem in collListItem)
{
Console.WriteLine(string.Format("{0} - {1}", oListItem["FileLeafRef"], oListItem["FileRef"]));
context2013.Load(oListItem);
context2013.Load(oListItem.File);
context2013.Load(oListItem.File.Versions);
context2013.ExecuteQuery();
//if (oListItem.File.Versions.Count > 1)
//MessageBox.Show("More than one version");
if (oListItem.File.Versions.Count > 1)
{
foreach (FileVersion version in oListItem.File.Versions)
{
Console.WriteLine(String.Format("Version no: {0} url - {1}", version.VersionLabel, version.Url));
downloadSharePointFile(version.Url, oListItem["FileLeafRef"].ToString());
}
}
//downloadSharePointFile(oListItem["FileRef"].ToString(), oListItem["FileLeafRef"].ToString());
}
Query the document library for a list of all the documents in the document library
title - the name of the document library
private ListItemCollection querySharePointList(string title)
{
SP.List oList = context2013.Web.Lists.GetByTitle(title);
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = "5000 ";
ListItemCollection collListItem = oList.GetItems(camlQuery);
context2013.Load(collListItem);
context2013.ExecuteQuery();
return collListItem;
}
Download the document from the document library
filename - url to the document
documentName - name of the document
private void downloadSharePointFile(string filename, string documentName)
{
string baseUri = "base url of the sharepoint application";
// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
System.Net.NetworkCredential netCredential = new System.Net.NetworkCredential("username", "password", "domain name");
myWebClient.Credentials = netCredential;
// Concatenate the domain with the Web resource filename.
// Download the Web resource and save it into the current filesystem folder.
string fileUrl = baseUri + "/" + filename;
myWebClient.DownloadFile(fileUrl, @"c:\temp\" + documentName);
}
No comments:
Post a Comment