In this article we can explore the copy document from a document
library to document set through code.
Following are the activities involved in copying document:
- Find
the document library
- Find
the document by name
- Create
a byte array from document
- Find
document set and add document to document set
Inside Visual Studio
Create a new console application and name it as DocLibCreation. Make sure you change the target framework to .Net 3.5.
Add the following code into the Program.cs file:
Create a new console application and name it as DocLibCreation. Make sure you change the target framework to .Net 3.5.
Add the following code into the Program.cs file:
public static void CopyDocument( SPWeb objProjectSite, SPWeb rootSite)
{
objProjectSite.AllowUnsafeUpdates
= true;
SPList objList = rootSite.Lists.TryGetList("Source Document Library");
SPFile objFile = null;
Foreach (SPListItem itm in objList.Items)
{
if (itm.Name == "My Document")
{
objFile = itm.File;
break;
}
}
byte[] sourceFileContent = objFile.OpenBinary();
SPList prjDocsList
=
objProjectSite.Lists.TryGetList("Destination Document Library");
SPFolder folDocSet = objProjectSite.GetFolder("Destination Document Library" + "/" + "Document Set Name");
folDocSet.Files.Add("Document Name" , sourceFileContent, true );
FolDocSet.Update();
ObjProjectSite.AllowUnsafeUpdates
= false;
}