C# 通过api 下载sharepoint中的文件

本文介绍了一种使用API从SharePoint下载文件的方法。通过GET请求并配置具备下载权限的SharePoint账号密码,可以实现文件流的获取及直接下载。文中提供了一个具体的C#示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过api 下载sharepoint 文件

说明

通过api 下载SharePoint 中的文件,需要通过get 方式进行请求,需要配置有权限下载文件的sharepoint账号密码,拿到文件流,然后会跳转到一个空白页面进行下载,只要配置账号密码,下载的时候就不会在需要登录了。

/// <summary>
        /// 得到所有数据
        /// </summary>
        /// <returns>返回数据</returns>
        [HttpGet, Route("api/User/FileDown")]
        [AllowAnonymous]
        public HttpResponseMessage FileDown(string filename)
        {
            
            const string username = "账号";
            const string password = "密码";
             string url = filename; //文件地址:https://***.cn/cs/cwtest/111/20201111175902.docx
            var securedPassword = new SecureString();
            foreach (var c in password.ToCharArray()) securedPassword.AppendChar(c);
            var credentials = new SharePointOnlineCredentials(username, securedPassword); 
            HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
            using (var client = new WebClient())
            {
                client.Credentials = credentials;
                client.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
               var  entity = client.OpenRead(url); 
                response.Content = new StreamContent(entity);
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
                response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                //文件名称,这里可以通过截取上面的文件url 地址中的文件名
                    FileName = "20201111175902.docx"
                };
            }
           
            return response;
        }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值