SharePoint 2019 - 请求消息太大

Posted

技术标签:

【中文标题】SharePoint 2019 - 请求消息太大【英文标题】:SharePoint 2019 - The request message is too big 【发布时间】:2021-06-16 15:54:17 【问题描述】:

我有一个借助 .NET Framework 4.7.2 制作的小型控制台应用程序。 其目的是将 PDF 文件上传到 SharePoint 2019 网站。 有一个 2 MB 的文件大小限制,我找不到避免的方法。 错误信息如下:

请求消息太大。服务器不允许大于 2097152 字节的消息。

我已经尝试了这篇文章中的建议 -> https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/upload-large-files-sample-app-for-sharepoint

我的代码中缺少 Microsoft.SharePoint.Client 中 FileCreationInformationContentStream 属性。我确保我使用了正确的命名空间,并且我还拥有最新版本的 dll。后来我发现这篇文章是在2013版本上完成的,所以很有可能做法已经过时了。

这是我尝试上传文件的方式:

 Folder folder = context.Web.GetFolderByServerRelativeUrl(path);
 FileCreationInformation FileToUpload = new FileCreationInformation();
                    
 FileToUpload.Content = System.IO.File.ReadAllBytes(file.FullName);
 FileToUpload.Url = AccountList.RootFolder.ServerRelativeUrl + filePath);
 FileToUpload.Overwrite = true;

 folder.Files.Add(FileToUpload);
 folder.Update();
 AccountList.Update();
 context.ExecuteQuery();

正如我已经说过的,我想使用 ContentStream 属性而不是 Content 来避免 2 MB 异常,但它可能已过时,因为我无法获得此属性。

我的问题是,有没有办法绕过 2 MB 文件上传限制?

【问题讨论】:

【参考方案1】:

事实证明,我必须安装一个额外的 Nuget 包才能看到FileCreationInformationContentStream 属性。当我将Content 属性替换为ContentStream 属性时,我的问题立即消失了。

Nuget 包名称:Microsoft.SharePoint2019.CSOM 安装命令:Install-Package Microsoft.SharePoint2019.CSOM -Version 16.0.10337.12109

【讨论】:

以上是关于SharePoint 2019 - 请求消息太大的主要内容,如果未能解决你的问题,请参考以下文章

自托管 WCF 服务中的 HTTP 413 请求实体太大

Nest.js - 请求实体太大 PayloadTooLargeError:请求实体太大

响应:413 请求实体太大

Sharepoint Online 上禁止 WebRequest

Cosmos DB:Gremlin API请求太大异常。如何重试通话

请求实体太大 WCF REST 服务