c# - 如何使用 CSOM 从/向 SharePoint 2013 下载/上传文件?

标签 c# windows-8 sharepoint-2013 csom

我正在开发需要从/向 SharePoint 2013 下载/上传文件的 Win8(WinRT、C#、XAML)客户端应用程序 (CSOM)。

我如何进行下载/上传?

最佳答案

上传文件

使用 File.SaveBinaryDirect Method 将文件上传到 SharePoint 网站(包括 SharePoint Online) :

using (var clientContext = new ClientContext(url))
{
     using (var fs = new FileStream(fileName, FileMode.Open))
     {
         var fi = new FileInfo(fileName);
         var list = clientContext.Web.Lists.GetByTitle(listTitle);
         clientContext.Load(list.RootFolder);
         clientContext.ExecuteQuery();
         var fileUrl = String.Format("{0}/{1}", list.RootFolder.ServerRelativeUrl, fi.Name);

         Microsoft.SharePoint.Client.File.SaveBinaryDirect(clientContext, fileUrl, fs, true);
     }
}

下载文件

使用 File.OpenBinaryDirect Method 从 SharePoint 站点(包括 SharePoint Online)下载文件:

using (var clientContext = new ClientContext(url))
{

     var list = clientContext.Web.Lists.GetByTitle(listTitle);
     var listItem = list.GetItemById(listItemId);
     clientContext.Load(list);
     clientContext.Load(listItem, i => i.File);
     clientContext.ExecuteQuery();

     var fileRef = listItem.File.ServerRelativeUrl;
     var fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(clientContext, fileRef);
     var fileName = Path.Combine(filePath,(string)listItem.File.Name);
     using (var fileStream = System.IO.File.Create(fileName))
     {                  
          fileInfo.Stream.CopyTo(fileStream);
     }
}

关于c# - 如何使用 CSOM 从/向 SharePoint 2013 下载/上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17057074/

相关文章:

c# - (来自 HRESULT : 0x8001010E (RPC_E_WRONG_THREAD)) 的异常

C++检测用户何时按下箭头键

javascript - 如何在完全信任的解决方案中通过 javascript 调用 Sharepoint 2013 API?

c# - AutoMapper 避免嵌套循环

c# - 这个小方法要进行哪些测试?

c# - 身份框架和自定义密码哈希器

c# - 在 Windows 8 上获取操作系统、平台和设备信息

sharepoint - 将 SharePoint 用户写入 SharePoint 列表中的用户字段的正确方法

sharepoint - SharePoint 2010项目在Visual Studio 2015中不兼容

c# - 使用对象的列表遍历对象