2017-10-17 51 views
1

J'essaie de télécharger des documents à partir de la bibliothèque de documents sharepoint en utilisant C#.OpenBinaryDirect() Runtime exeption: Cette propriété ne peut pas être définie après que l'écriture a démarré

Maintenant Obtenir une exception "Cette propriété ne peut pas être définie après l'écriture a commencé" sur la méthode openBinaryDirect().

« Une exception non gérée du type « System.InvalidOperationException » a eu lieu dans System.dll

Informations complémentaires: Cette propriété ne peut pas être après l'écriture a commencé. »

Aidez-moi à résoudre ce problème. existe-t-il une autre méthode pour télécharger des documents à partir de sharepoint (csom).

ClientContext ctx; 
ctx = new ClientContext("url"); 


string pass = "pass"; 
SecureString secureString = new SecureString(); 

foreach (char c in pass.ToCharArray()) 
{ 
    secureString.AppendChar(c); 
} 
ctx.Credentials = new SharePointOnlineCredentials(".onmicrosoft.com",secureString); 

FileCollection files = ctx.Web.GetFolderByServerRelativeUrl("Salary document Demo").Files; 

ctx.Load(files); 
ctx.ExecuteQuery(); 

foreach (Microsoft.SharePoint.Client.File file in files) 
{ 

    FileInformation fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(ctx, file.ServerRelativeUrl); 

    ctx.ExecuteQuery(); 

    var filePath = @"c:\downloads" + file.Name; 
    using (var fileStream = new System.IO.FileStream(filePath, System.IO.FileMode.Create)) 
    { 
     fileInfo.Stream.CopyTo(fileStream); 
    } 
} 
+0

son parce que vous réutilisez l'objet Fileinfo dans la boucle. –

+0

donc ce que je peux faire d'autre. Aucune suggestion ? –

+0

pouvez-vous déboguer et savoir exactement où cela vient? aussi quelle est la valeur dans la variable filepath? –

Répondre