How to upload file into Document Set using SharePoint 2010/2013 CSOM
/// <summary>
/// Upload file into Document Set
/// </summary>
/// <param name="list">List Title</param>
/// <param name="docSetName">DocumentSet Name</param>
/// <param name="fileName">File name to upload</param>
private static void UploadFileIntoDocumentSet(List list,string docSetName, string fileName)
{
var ctx = list.Context;
ctx.Load(list.RootFolder);
ctx.ExecuteQuery();
using (var fs = new FileStream(fileName, FileMode.Open))
{
var fi = new FileInfo(fileName);
var fileUrl = String.Format("{0}/{1}/{2}", list.RootFolder.ServerRelativeUrl,docSetName, fi.Name);
Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, fileUrl, fs, true);
}
}
Usage:
using (var ctx = new ClientContext(url))
{
var list = ctx.Web.Lists.GetByTitle(listTitle);
UploadFileIntoDocumentSet(list,"Orders", @"C:\Order.docx");
}