【问题标题】:Alternative Save/OpenBinaryDirect methods for CSOM for SharePoint Online用于 SharePoint Online 的 CSOM 的替代 Save/OpenBinaryDirect 方法
【发布时间】:2022-01-19 19:29:57
【问题描述】:

根据 MS https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/using-csom-for-dotnet-standard 的文档,Save/OpenBinaryDirect 方法不适用于 .NET 核心应用程序,他们建议使用常规文件 API,那么另一种读取方式是什么/在线写入存储在 SharePoint 中的文件?什么是常规文件 API?有人这样做吗?任何示例代码/文档?

【问题讨论】:

    标签: asp.net-core-webapi sharepoint-online csom


    【解决方案1】:

    在 .NET Core CSOM 中下载文件:

      using (var authenticationManager = new AuthenticationManager())
      using (var context = authenticationManager.GetContext(site, user, password))
      {
        context.Load(context.Web, p => p.Title);
        context.ExecuteQuery();
        Microsoft.SharePoint.Client.File file = context.Web.GetFileByUrl("https://tenant.sharepoint.com/sites/michael/Shared%20Documents/aa.txt");
        context.Load(file);
        context.ExecuteQuery();       
        string filepath = @"C:\temp\" + file.Name;
    
    
    
        Microsoft.SharePoint.Client.ClientResult<Stream> mstream = file.OpenBinaryStream();
        context.ExecuteQuery();
        
        using (var fileStream = new System.IO.FileStream(filepath, System.IO.FileMode.Create))
        {
          mstream.Value.CopyTo(fileStream);
        }
    
    
        using (System.IO.StreamReader sr = new System.IO.StreamReader(mstream.Value))
        {
          String line = sr.ReadToEnd();
          Console.WriteLine(line);
        }
    
      }
    

    在 .NET Core CSOM 中上传文件:

    string filepath = @"C:\temp\aa.txt";
    FileCreationInformation newfile = new FileCreationInformation();
    newfile.Url = System.IO.Path.GetFileName(filepath);
    newfile.Content= System.IO.File.ReadAllBytes(filepath);
    
    List library = context.Web.Lists.GetByTitle("Documents");
    Microsoft.SharePoint.Client.File uploadFile = library.RootFolder.Files.Add(newfile);
    context.Load(uploadFile);
    context.ExecuteQuery();
    

    【讨论】:

      猜你喜欢
      • 2013-06-30
      • 2015-03-28
      • 2023-03-19
      • 1970-01-01
      • 2015-02-06
      • 2017-04-04
      • 2017-12-01
      • 2017-01-30
      • 1970-01-01
      相关资源
      最近更新 更多