Sharepoint online - copy files programmatically

Mauricio Poggio Veiro 301 Reputation points
2021-11-10T17:32:25.563+00:00

Hello,

I'm working wiht Sharepoint Online, trying to copy a file (and his metadata) from one site to another in the same site collection, I'm using MoveCopyUtil:

            using (SP.ClientContext lContext = ClientContextAuth(xsURLOrigen))
            {
                SP.MoveCopyOptions lOptions = new SP.MoveCopyOptions();
                lOptions.ResetAuthorAndCreatedOnCopy = false;
                SP.MoveCopyUtil.CopyFile(lContext, xsURLOrigen, xsURLDestino,true, lOptions);
                lContext.ExecuteQuery();
            }

This throw the next error: "Value does not fall within the expected range."

any help will be appreciated, thanks!
Mauricio.

Microsoft 365 and Office | SharePoint | Development
Microsoft 365 and Office | SharePoint | For business | Windows
0 comments No comments

Answer accepted by question author
MichaelHan-MSFT 18,136 Reputation points
2021-11-11T07:32:39.21+00:00

Hi @Mauricio Poggio Veiro ,

Per my test, the MoveCopyUtil works for me. Below is my demo code:

        var userName = "******@tenant.onmicrosoft.com";  
        var password = "xxxx";  
        var siteUrl = "https://tenant.sharepoint.com/sites/test";  
        SecureString securePassword=new SecureString();  
        foreach(char a in password)  
        {  
            securePassword.AppendChar(a);  
        }  
        var credential = new SharePointOnlineCredentials(userName, securePassword);  
        var ctx = new ClientContext(siteUrl);  
        ctx.Credentials = credential;  
        var srcUrl="https://tenant.sharepoint.com/sites/test/Shared%20Documents/aa.txt";  
        var desUrl="https://tenant.sharepoint.com/sites/test/sub1/Shared%20Documents/aa.txt";  

        MoveCopyOptions lOptions = new MoveCopyOptions();  
        lOptions.ResetAuthorAndCreatedOnCopy = false;  
        MoveCopyUtil.CopyFile(ctx, srcUrl, desUrl,true, lOptions);  
        ctx.ExecuteQuery();  

If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Was this answer helpful?


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.