2017-10-17 54 views
1

C#を使用してSharePointドキュメントライブラリからドキュメントをダウンロードしようとしています。OpenBinaryDirect()ランタイム例外:このプロパティは、書き込みが開始された後に設定できません。

今すぐ例外を取得するopenBinaryDirect()メソッドで「このプロパティは書き込み開始後に設定できません。

は「『System.InvalidOperationException』種類の未処理の例外は、System.dllの

で発生しました追加情報:書き込みが開始された後に、このプロパティは設定できません。」

この問題を解決するのを手伝ってください。 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

そのあなたがループ内FileInfoオブジェクトを再利用しているため。 –

+0

私は他に何ができるのですか。助言がありますか ? –

+0

これは正確にどこにデバッグして見つけることができますか?また、filepath変数の値は何ですか? –

答えて

関連する問題