Javascript $http.post文件大小限制?看起来的确如此

Javascript $http.post文件大小限制?看起来的确如此,javascript,jquery,angularjs,http,post,Javascript,Jquery,Angularjs,Http,Post,我目前正在从事一个项目,该项目要求我使用AngularJS的$http.post将Base64编码的文件内容上载到服务器,在那里文件内容将被转换并保存到远程存储库 我上传的文件大约是2.31MB,但是在服务器通过$http.post方法接收到文件内容后,文件内容的大小只有68K!发生了什么事 我很确定,因为我的文件内容是Base64格式的,所以我不会因为嵌入空值而导致字符串终止,对吗 我主要想知道$http.post方法是否有字节限制。我在别的地方都找不到我的答案 我是否应该将文件内容切碎,告诉

我目前正在从事一个项目,该项目要求我使用AngularJS的
$http.post
将Base64编码的文件内容上载到服务器,在那里文件内容将被转换并保存到远程存储库

我上传的文件大约是2.31MB,但是在服务器通过
$http.post
方法接收到文件内容后,文件内容的大小只有68K!发生了什么事

我很确定,因为我的文件内容是Base64格式的,所以我不会因为嵌入空值而导致字符串终止,对吗

我主要想知道
$http.post
方法是否有字节限制。我在别的地方都找不到我的答案


我是否应该将文件内容切碎,告诉服务器我正在开始上传,向服务器上传多个卡盘,然后在完成后告诉服务器?

我引用了以下第三个答案:

可能您的内容变量中有一个&。那之后的一切都会被剥夺

因此,在base64编码的文件中,可能有一个
&
单独的第68000个字符截断了文件的其余部分,因为它认为附加了另一个请求


类似于:
http://www.example.com?post=324b6bjgj5jhg&fgdhgtuhuf
将以
324b6bjgj5jhg
而不是
324b6bjgj5jhg和fgdhgtuhuf的形式呈现
$\u GET['post']
&
使它认为还有另一个变量。我知道这是一个
GET
请求,但我猜类似的事情也可能发生在
POST
中。

我引用了这篇文章的第三个答案:

可能您的内容变量中有一个&。那之后的一切都会被剥夺

因此,在base64编码的文件中,可能有一个
&
单独的第68000个字符截断了文件的其余部分,因为它认为附加了另一个请求


类似于:
http://www.example.com?post=324b6bjgj5jhg&fgdhgtuhuf
将以
324b6bjgj5jhg
而不是
324b6bjgj5jhg和fgdhgtuhuf的形式呈现
$\u GET['post']
&
使它认为还有另一个变量。我知道这是一个
GET
请求,但我猜类似的事情也可能发生在
POST
中。

我引用了这篇文章的第三个答案:

可能您的内容变量中有一个&。那之后的一切都会被剥夺

因此,在base64编码的文件中,可能有一个
&
单独的第68000个字符截断了文件的其余部分,因为它认为附加了另一个请求


类似于:
http://www.example.com?post=324b6bjgj5jhg&fgdhgtuhuf
将以
324b6bjgj5jhg
而不是
324b6bjgj5jhg和fgdhgtuhuf的形式呈现
$\u GET['post']
&
使它认为还有另一个变量。我知道这是一个
GET
请求,但我猜类似的事情也可能发生在
POST
中。

我引用了这篇文章的第三个答案:

可能您的内容变量中有一个&。那之后的一切都会被剥夺

因此,在base64编码的文件中,可能有一个
&
单独的第68000个字符截断了文件的其余部分,因为它认为附加了另一个请求

类似于:
http://www.example.com?post=324b6bjgj5jhg&fgdhgtuhuf
将以
324b6bjgj5jhg
而不是
324b6bjgj5jhg和fgdhgtuhuf的形式呈现
$\u GET['post']
&
使它认为还有另一个变量。我知道这是一个
GET
请求,但我想类似的事情也可能发生在
POST
中。

愚蠢的我

因此,整个2.31MB都被传送到服务器上,而我只是通过分配一个略低于65K的缓冲区来截断文件内容,这是TCP/IP数据包的最大限制。简单地说,我只需要在数据包被重建后,使我的缓冲区大小与传入的数据包动态匹配。谢谢大家的帮助。

我真傻

因此,整个2.31MB都被传送到服务器上,而我只是通过分配一个略低于65K的缓冲区来截断文件内容,这是TCP/IP数据包的最大限制。简单地说,我只需要在数据包被重建后,使我的缓冲区大小与传入的数据包动态匹配。谢谢大家的帮助。

我真傻

因此,整个2.31MB都被传送到服务器上,而我只是通过分配一个略低于65K的缓冲区来截断文件内容,这是TCP/IP数据包的最大限制。简单地说,我只需要在数据包被重建后,使我的缓冲区大小与传入的数据包动态匹配。谢谢大家的帮助。

我真傻


因此,整个2.31MB都被传送到服务器上,而我只是通过分配一个略低于65K的缓冲区来截断文件内容,这是TCP/IP数据包的最大限制。简单地说,我只需要在数据包被重建后,使我的缓冲区大小与传入的数据包动态匹配。感谢所有的帮助。

有趣的表情@scragar。我一定要签出
maxAllowedContentLength
。但是,为了澄清问题,base64编码后的文件内容是2.31 MB,服务器也接收base64编码的文件内容,因此服务器接收的内容也应该是2.31 MB,但它们是68 K。其他注释去哪里了…?作者删除了它。有趣的外观@scragar。我一定要签出
maxAllowedContentLength
。但是,为了澄清问题,base64编码后的文件内容为2.31MB,服务器也接收base64编码的文件内容