[英]$http.post File Size Limit? Sure looks like it
我目前正在一个项目上,该项目要求我使用AngularJS的$http.post
将Base64编码的文件内容上载到服务器,在该服务器上文件内容将被转换并保存到远程存储库。
我上传的文件约为2.31 MB,但是服务器通过$http.post
方法接收文件内容后,文件内容只有68 K! 发生了什么?
我非常确定,因为我的文件内容为Base64格式,由于嵌入的null,我不会出现字符串终止问题,是吗?
我主要想知道$http.post
方法是否有字节限制。 在其他任何地方都找不到我的答案。
我应该将文件内容切碎,告诉服务器我正在开始上传,是否向服务器添加了多个上传卡盘,然后在完成时告诉服务器?
愚蠢的我...
因此,整个2.31 MB都传到了服务器上,但是我仅通过分配刚低于65K(TCP / IP数据包的最大限制)的缓冲区来截断文件内容。 简而言之,在重构数据包后,我只需要使缓冲区大小动态适应传入的数据包即可。 感谢所有帮助人员。
我引用这个问题的第三个答案:
内容变量中可能有一个&。 然后,此后的所有内容都会被删除。
因此,也许在以base64编码的文件中,第68000个字符单独位于&
,砍掉了文件的其余部分,因为它认为附加了另一个请求。
像这样的东西: http://www.example.com?post=324b6bjgj5jhg&fgdhgtuhuf
: http://www.example.com?post=324b6bjgj5jhg&fgdhgtuhuf
$_GET['post']
324b6bjgj5jhg
324b6bjgj5jhg&fgdhgtuhuf
将提供$_GET['post']
为324b6bjgj5jhg
而不是324b6bjgj5jhg&fgdhgtuhuf
。 &
使其认为还有另一个变量。 我知道这是一个GET
请求,但我想POST
也可能发生类似的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.