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