Nevesito
Nevesito

Reputation: 125

Upload File To SharePoint Online(office 365) Library Invokes Error

How can one resolve this runtime error?

Error

Could not load file or assembly 'Microsoft.SharePoint.Library, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c' or one of its dependencies. The system can not find the file specified.

CODE

string destUrl = "URL";
string destFileUrl = destUrl  + "biblioteca" + "/text.txt";
using(SPWeb site = new SPSite(destUrl).OpenWeb())
{
    site.AllowUnsafeUpdates = true;

    FileStream fileStream = File.Open("FILE" , FileMode.Open);

    site.Files.Add(destFileUrl, fileStream, true/*overwrite*/);

    fileStream.Close();
}

Upvotes: 1

Views: 19858

Answers (4)

Nevesito
Nevesito

Reputation: 125

This works for me.

using (ClientContext clientContext = new ClientContext("SHAREPOINT URL")) {
    SecureString passWord = new SecureString();
    foreach (char c in "PASSWORD".ToCharArray()) passWord.AppendChar(c);
    clientContext.Credentials = new SharePointOnlineCredentials("ACOUNT.onmicrosoft.com", passWord);
    Web web = clientContext.Web; 
    FileCreationInformation newFile = new FileCreationInformation();
    newFile.Content = System.IO.File.ReadAllBytes(FILE);
    newFile.Url = NAMEFORTHEFILE;
    
    List docs = web.Lists.GetByTitle("LIBRARY NAME");
    Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(newFile);

    clientContext.ExecuteQuery();
}

Upvotes: 3

user2756589
user2756589

Reputation: 431

Have you encountered this error: The partner returned a bad sign-in name or password error. For more information, see Federation Error-handling Scenarios.

I have the following codes:

                NetworkCredential Cred = new NetworkCredential(ConfigurationManager.AppSettings["Username"], ConfigurationManager.AppSettings["Password"], ConfigurationManager.AppSettings["Domain"]);
                SecureString PassWord = new SecureString();

                foreach (char c in ConfigurationManager.AppSettings["Password"].ToCharArray()) PassWord.AppendChar(c);

                clientContext.Credentials = new SharePointOnlineCredentials(ConfigurationManager.AppSettings["Username"], PassWord);

                Web web = clientContext.Web;

                clientContext.Load(web);

Upvotes: -1

Aarti
Aarti

Reputation: 765

You cannot use the server side object model to upload files to SharePoint Online.

One has to use the Client Object Model to upload files to SharePoint online.

More Info

Office 365 Sharepoint Upload Files to Documents Library

Upvotes: -2

Vaibhav Bhatia
Vaibhav Bhatia

Reputation: 536

string fileName = @"C:\AddUser.aspx";
using (var context = new   ClientContext("https://yourdomain.com")) {
    var passWord = new SecureString();
    foreach (var c in "YourPassword") passWord.AppendChar(c);
    context.Credentials = new SharePointOnlineCredentials("YourUsername", passWord);
    var web = context.Web;
    var newFile = new FileCreationInformation {
        Content = System.IO.File.ReadAllBytes(fileName),
        Url = Path.GetFileName(fileName)
    };
    var docs = web.Lists.GetByTitle("Pages");
    Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(newFile);
    context.ExecuteQuery();
}

Upvotes: 1

Related Questions