我正在开发需要从/向 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/