Two ways to Upload file from Client Object Model

Hi Guys,

Just  a quick example, Take a scenario that you are creating an Application (in our case WinForm Application). and you want to upload a document to document library from that application, there are two ways to do, One is to upload from filecreation and the other one is to directly upload with file.savebinary method.

public void uploadfile(string siteurl,string fileName,string libraryName, string subfolderPath)
{

using (ClientContext clientContext = new ClientContext(siteUrl))
{

string uploadLocation = string.Empty;
if (!string.IsNullOrEmpty(
subfolderPath))
{uploadLocation = string.Format("/{0}/{1}/", libraryName, subfolderPath);}
else
{
uploadLocation = string.Format("/{0}/", libraryName);
}

#region Upload through filecreation
var fileCreationInformation = new FileCreationInformation();

byte[] bytefile = System.IO.File.ReadAllBytes(fileName);
fileCreationInformation.Content = bytefile;
fileCreationInformation.Overwrite = true;
uploadLocation = uploadLocation + Path.GetFileName(fileName);
fileCreationInformation.Url = uploadLocation;

list.RootFolder.Files.Add(fileCreationInformation);
clientContext.ExecuteQuery();
#endregion

#region Uploading directly
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{

Microsoft.SharePoint.Client.File.SaveBinaryDirect(clientContext, uploadLocation, fs, true);

}

#endregion

}

}

 

Please don’t forget to cast your opinion below about this blog
Cheers,
Happy SharePointing,
Advertisements

2 thoughts on “Two ways to Upload file from Client Object Model

  1. Hi Shakir Majeed,
    Your article helped me a lot . thank you sir. now I have a question.
    How can I set the metadatainformation such as “CreatedBy” and “ModifedBy” when I upload a new file using the ablove code?

    waiting for your reply,
    Thanks and Regards.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s