Logo

.Net Core 下载 SharePoint Online 文件

photo

2024年04月09日

  前言

  最近,在使用Net Core写SharePoint的一些工具,这不写到了下载文件的功能,但是Net Core中有一些方法已经被遗弃了,所以记录一下。

  正文

  1.我们在Net Framework中,通常会使用下面的方法进行文件下载:

FileInformation fileinfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(context, filepath);

  2.但是,OpenBinaryDirect这个方法在Net Core中被弃用了,我们只能换下面的方法了:

string filepath = "/sites/Sample/Shared Documents/Sample.xlsx";

ClientContext context = GetAppCtx();
Web web = context.Site.OpenWeb("Web");
File file = web.GetFileByServerRelativeUrl(filepath);

Microsoft.SharePoint.Client.ClientResult<Stream> mstream = file.OpenBinaryStream();

context.Load(file);
context.ExecuteQuery();

using (System.IO.FileStream localFS = System.IO.File.Open(@"D:\Sample.xlsx", FileMode.OpenOrCreate))
{
    mstream.Value.CopyTo(localFS);
}

  3.先要下载对应的工具包,如下图:

  4.在头部引用PnP Framework的方法,如下: 

using AuthenticationManager = PnP.Framework.AuthenticationManager;

  5.编写用App Id进行认证的方法,这个方法是通用的,只需要更换siteUrl,appId和appSecret三个参数就可以了:

public static ClientContext GetAppCtx()
{
    string siteUrl = "https://linyu.sharepoint.com/sites/Sample";
    string appId = "e301b508-1234-5678-815d-1015df612345";
    string appSecret = "NpHdv0fWHagI/8ja6kzBf1234abcabepkPRPqipAbt8=";

    try
    {
        AuthenticationManager repositoryAuthenticationManager = new AuthenticationManager();
        ClientContext ctx = repositoryAuthenticationManager.GetACSAppOnlyContext(siteUrl, appId, appSecret);
        return ctx;
    }
    catch
    {
        return null;
    }
}

  6.我们看一下CSOM在Net Framework和Net Core中的一些区别,如下图:

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
本文为原创文章,请注意保留出处!

热门文章

Sql Server 部署SSIS包完成远程数据传输 本篇介绍如何使用SSIS和作业完成自动更新目标数据任务。**温馨提示:如需转载本文,请注明...SqlServer部署SSIS包完成远程数据传输 作者:Pastore Antonio
1723 浏览量
SharePoint2010升级到SharePoint2013操作手册 SharePoint2010升级到SharePoint2013操作手册目录第一章...SharePoint2010升级到SharePoint2013操作手册 作者:Pastore Antonio
1687 浏览量
C# DataTable 某一列求和 列为数字类型doubletotal=Convert.ToDouble(datatable.Com...C#DataTable某一列求和 作者:Pastore Antonio
1666 浏览量
修复moss本机访问SharePoint 401.1 HTTP错误 环境:DCServer&...修复moss本机访问SharePoint401.1HTTP错误 作者:Pastore Antonio
1654 浏览量
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 这一篇是从0开始搭建SQLServerAlwaysOn的第三篇,这一篇才真正开始搭建Alway...从0开始搭建SQLServerAlwaysOn第三篇(配置AlwaysOn) 作者:Pastore Antonio
1619 浏览量