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