首页 > 解决方案 > 无法下载大于 240 MB 的文件 ASP.NET Core 3.1,服务器返回文件 0 KB

问题描述

当通过 ASP.NET Core 3.1 应用程序和集成的 SharePoint API 下载大文件(超过 240MB)时,会出现此问题。特别有趣的是行为。在本地,每个文件都可以正常工作,但在服务器上,大文件无法成功下载。服务器返回大小为 0KB 的空文件。

已经采取了很多步骤,从添加启动类、修改下载文件操作、修改 IIS 中的设置,甚至编辑注册表编辑器。最后没有任何帮助。

下载文件

        public async Task<FileStreamResult> DownloadFile(string serverFileUrl, string fileName)
        {
            var accToken = GetToken();
            var webUrl = "https://...";
            var fileUrl = serverFileUrl;
            var accessToken = accToken.Result.ToString();

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
                var requestUrl = String.Format("{0}/_api/web/getfilebyserverrelativeurl('{1}')/$value", webUrl, fileUrl);
                var response = await client.GetAsync(requestUrl, HttpCompletionOption.ResponseHeadersRead);
                var fileContent = await response.Content.ReadAsStreamAsync();

                return File(fileContent, System.Net.Mime.MediaTypeNames.Application.Octet, fileName, true);
            }
        }

标签: asp.net-core-mvc

解决方案


推荐阅读