繁体   English   中英

$ http.post文件大小限制? 当然看起来像

[英]$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM