MEANJS : 413 (Request Entity Too Large)
13,675
You can add following to express config:
app.use(bodyParser.urlencoded({limit: '50mb'}));
app.use(bodyParser.json({limit: '50mb'}));
Basically you need to configure Express webserver to accept bigger request size. Replace 50mb
with whatever maxsize you want to accept.
Hope this helps!!!
Author by
Fabii
Application developer. Aspiring world traveler. Student of knowledge and other good things.
Updated on June 08, 2022Comments
-
Fabii almost 2 years
I am using a MEANJS stack, I upload an image using ng-flow and save the imgsrc as base64 url.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARkAAACzCAYAAAC94GgrA....
Here is my mongoose schema:
var ServiceSchema = new mongoose.Schema({ name : String, url: String, description : String, category : String, imgsrc: String });
I run into a Request Entity Too Large server error for large images.
I could resize the image prior to upload but this still only allows me image of size 200 x 200
$scope.resizeimageforupload = function(img){ var canvas = document.getElementById('canvas'); var MAX_WIDTH = 200; //400; too big still var MAX_HEIGHT = 200; //300 too big still var width = img.width; var height = img.height; if (width > height) { if (width > MAX_WIDTH) { height *= MAX_WIDTH / width; width = MAX_WIDTH; } } else { if (height > MAX_HEIGHT) { width *= MAX_HEIGHT / height; height = MAX_HEIGHT; } } canvas.width = width; canvas.height = height; var ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0, width, height); var dataURL = canvas.toDataURL("image/png"); dataURL.replace(/^data:image\/(png|jpg);base64,/, ""); return dataURL; };
Any ideas on a work around or alternate solution ?
request entity too large: 413
Error: request entity too large at makeError (Angular\expresstest\node_modules\body-parser\node_modules\raw-body\index.js:184:15) at module.exports (Angular\expresstest\node_modules\body-parser\node_modules\raw-body\index.js:40:15) at read (Angular\expresstest\node_modules\body-parser\lib\read.js:62:3) at jsonParser (Angular\expresstest\node_modules\body-parser\lib\types\json.js:87:5) at Layer.handle [as handle_request] (Angular\expresstest\node_modules\express\lib\router\layer.js:76:5) at trim_prefix (Angular\expresstest\node_modules\express\lib\router\index.js:270:13) at Angular\expresstest\node_modules\express\lib\router\index.js:237:9 at Function.proto.process_params (Angular\expresstest\node_modules\express\lib\router\index.js:312:12) at Angular\expresstest\node_modules\express\lib\router\index.js:228:12 at Function.match_layer (Angular\expresstest\node_modules\express\lib\router\index.js:295:3)
-
Fabii over 9 yearsWorked great!; not sure what this was for : app.use(methodOverride({limit: '50mb'})); but it was undefined.
-
Chris Foster over 9 years@aarosil: Is
methodOverride
not needed at all then? Could you remove it from your answer if that's the case? -
Tony Paternite about 9 yearsThis saved my life. Thank you.
-
reaper_unique over 8 yearsThis doesn't work for me. I added it but I keep getting the error that is in the OP.
-
reaper_unique over 8 yearsIt seems like at some point after a customer provides his login using passport-local, raw-body is being loaded which has a limit size of 100 Kb.
-
lonelymo about 8 years@reaper_unique this is exactly my case too. What's the soln here?
-
reaper_unique about 8 yearsUnfortunately I haven't found the cause yet but I have a bigger issue. I forgot to check with my host if they support node.js, which they don't and my client doesn't wish to move to a more expensive solution which does support node.js so I have to migrate my project asap back to .NET.
-
Arj 1411 over 7 yearswhat is app.use here?