簡體   English   中英

如何更改POST請求的最大包大小限制?

[英]How can I change the limit of max size of package for a POST request?

我正在嘗試通過POST請求發送字節數組。 我在服務器端使用Node.js和Express.js。 我收到錯誤代碼413,或者頁面甚至凍結(“ PayloadTooLargeError:參數過多”)。

我的變量base64看起來像這樣:

數據:圖像/ JPEG; BASE64,/ 9J / 4AAQSkZJRgABAQAAAQABAAD / 2wCEAAYGBgYHBgcICAcKCwoLCg8ODAwODxYQERAREBYiFRkVFRkVIh4kHhweJB42KiYmKjY + NDI0PkxERExfWl98fKcBBgYGBgcGBwgIBwoLCgsKDw4MDA4PFhAREBEQFiIVGRUVGRUiHiQeHB4kHjYqJiYqNj40MjQ + TERETF9aX3x8p // CABEIBLAGQAMBIgACEQEDEQH / X ...

我的可變字節如下所示:

Uint8Array(294508)[255、216、255、224、0、16、74、70、73、70、0、1、1、0、0、1、0、1、0、0、255、219、0 ,132,0,6,6,6,6,7,6,7,8,8,7,10,11,10,11,10,15,14,12,12,14,15,15,22,16 ,17、16、17、16、22、34、21、25、21、21、25、21、34、30、36、30、28、30、36、30、54、42、38、38、42 ,54,62,52,50,52,62,76,68,68,76,95,90,95,124,124,167,1,6,6,6,6,6,7,6,7,8 ,8、7…]

我試圖在app.js中設置body-parser的限制,以下是我的POST請求:

    var bodyParser = require('body-parser');
    app.use(bodyParser.json({limit: '50mb'}));
    app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));
    <input onchange="openFile(event)" type="file" id="FileUpload">

    function openFile(event) {

        var input = event.target;
        var reader = new FileReader();
        reader.onload = function() {
            var base64 = reader.result;
            var bytea = base64ToArrayBuffer(base64); //This converts to bytea

            $.post('/user/update', {username: user.firstname, profilePicture: bytea}, function(err) {
                if(err) {
                    alert(err);
                } else {
                    alert("Miracle");
                }
            });
        };

    reader.readAsDataURL(input.files[0]);
}

我希望程序包到達服務器並存儲數據。

在您的帖子請求中試用contentLength。 可能由於默認值太小,導致無法發送全部數據

我沒有發送字節數組,而是發送了base64,這解決了問題。 該錯誤是由陣列引起的。 也許我可以解決這里建議的添加parameterLimit的問題Node.js錯誤:參數太多上傳批量數據時出錯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM