Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用基于CSOM的上载功能,达到1.7mb的限制_Javascript_Sharepoint Online_Csom - Fatal编程技术网

Javascript 使用基于CSOM的上载功能,达到1.7mb的限制

Javascript 使用基于CSOM的上载功能,达到1.7mb的限制,javascript,sharepoint-online,csom,Javascript,Sharepoint Online,Csom,尝试上载大于1.7 MB的文件时遇到以下错误: “请求失败,错误消息-请求消息太大。服务器不允许大于2097152字节的消息。堆栈跟踪-未定义” 函数上传文件(arrayBuffer,文件名) { //获取客户端上下文、Web和列表对象。 var clientContext=new SP.clientContext(); var oWeb=clientContext.get_web(); var oList=oWeb.get_lists().getByTitle('CoreTransatio

尝试上载大于1.7 MB的文件时遇到以下错误:

“请求失败,错误消息-请求消息太大。服务器不允许大于2097152字节的消息。堆栈跟踪-未定义”

函数上传文件(arrayBuffer,文件名)
{  
//获取客户端上下文、Web和列表对象。
var clientContext=new SP.clientContext();
var oWeb=clientContext.get_web();
var oList=oWeb.get_lists().getByTitle('CoreTransationDocuments');
var字节=新的Uint8Array(arrayBuffer);
变量i,长度,out='';
对于(i=0,length=bytes.length;i
我们刚刚从SP2013切换到Sharepoint Online。这段代码以前可以很好地处理更大的文件。2MB限制是指正在上载的文件还是REST请求的大小

我也读过关于使用filestream的一个可能的解决方案——这是我在这个场景中可以使用的吗


对代码的任何建议/修改都将不胜感激。

SharePoint对CSOM有自己的限制。不幸的是,这些限制无法在中央管理中配置,也无法使用CSOM设置,原因很明显

在谷歌搜索该问题时,通常通过将ClientRequestServiceSettings.MaxReceivedMessageSize属性设置为所需大小来提供解决方案

从SharePoint命令行管理程序调用以下PowerShell脚本:

   $ws = [Microsoft.SharePoint.Administration.SPWebService]::ContentService 
   $ws.ClientRequestServiceSettings.MaxReceivedMessageSize = 209715200 
   $ws.Update()
这会将限制设置为200 MB

然而,在SharePoint 2013中,Microsoft显然添加了另一个配置设置,以限制服务器从CSOM请求处理的数据量(我无法理解为什么有人会以不同的方式配置此设置…)。在阅读了一个非常非常长的SharePoint日志文件并浏览了一些已反汇编的SharePoint server代码后,我发现可以通过ClientRequestServiceSettings.MaxParseMessageSize属性设置此参数

我们现在正在SharePoint 2013中使用以下脚本,它非常有效:

  $ws = [Microsoft.SharePoint.Administration.SPWebService]::ContentService 
  $ws.ClientRequestServiceSettings.MaxReceivedMessageSize = 209715200 
  $ws.ClientRequestServiceSettings.MaxParseMessageSize = 209715200 
  $ws.Update()  

希望能帮一些人省去头痛

SharePoint对CSOM有自己的限制。不幸的是,这些限制无法在中央管理中配置,也无法使用CSOM设置,原因很明显

在谷歌搜索该问题时,通常通过将ClientRequestServiceSettings.MaxReceivedMessageSize属性设置为所需大小来提供解决方案

从SharePoint命令行管理程序调用以下PowerShell脚本:

   $ws = [Microsoft.SharePoint.Administration.SPWebService]::ContentService 
   $ws.ClientRequestServiceSettings.MaxReceivedMessageSize = 209715200 
   $ws.Update()
这会将限制设置为200 MB

然而,在SharePoint 2013中,Microsoft显然添加了另一个配置设置,以限制服务器从CSOM请求处理的数据量(我无法理解为什么有人会以不同的方式配置此设置…)。在阅读了一个非常非常长的SharePoint日志文件并浏览了一些已反汇编的SharePoint server代码后,我发现可以通过ClientRequestServiceSettings.MaxParseMessageSize属性设置此参数

我们现在正在SharePoint 2013中使用以下脚本,它非常有效:

  $ws = [Microsoft.SharePoint.Administration.SPWebService]::ContentService 
  $ws.ClientRequestServiceSettings.MaxReceivedMessageSize = 209715200 
  $ws.ClientRequestServiceSettings.MaxParseMessageSize = 209715200 
  $ws.Update()  
希望能帮一些人省去头痛