C#:如何从Sharepoint Teamsite网站下载和上传文件

时间:2019-06-04 05:54:22

标签: c# wpf sharepoint webdav

我有一个Sharepoint Teamsite,我将文件存储在一个文件夹中,我想下载该文件,然后将新文件上传回同一站点上的另一个文件夹。

确切地说,我的网站网址是https://sharepoint.wsx.sg/sites/op/SitePages/Home.aspx,我想下载位于conf.json的文件/files/config/conf.json,然后我的C#WPF程序将完成此工作,并且将新文件上传到/files/result/result.json

如何使用C#代码实现这一目标?我阅读了有关WebDav协议的信息,但无法真正弄清楚如何使用它,或者是否需要下载任何软件包。

很想知道是否有人可以提供一种替代方法,或者为我提供一些有用的链接,将不胜感激!

谢谢!

1 个答案:

答案 0 :(得分:0)

如果我正确理解,您只想将一个项目从列表“复制”到另一个。使用服务器端对象模型(SSOM)可以很容易地做到这一点。

using (SPSite site = new SPSite("<Site URL>"))
{
    SPList sourceList = site.RootWeb.Lists["SourceListName"];
    sourceList.GetItemById(0).File.CopyTo("DestinationListUrl");
}

当然,也许您将以另一种方式获得SPListItem,并且必须确保SourceList存在,站点URL正确等。

更重要的问题是,何时要触发此副本?每当有新项目添加到此来源列表时,都必须这样做吗?然后,您将需要一个EventReceiver。如果您想每隔一分钟/一小时/一天执行一次项目副本,则需要实施一个计时器作业。