环回3上的PayloadTooLargeError

时间:2017-09-12 08:41:21

标签: javascript mean-stack loopback

我需要在loopback模型中保存base64图像。当我保存base64图像时,我收到错误消息。我尝试在下面添加的中间件更新,我之前在loopback2中完成了,对于这个项目我升级到loopback3并陷入了这个问题,任何帮助将不胜感激

堆栈跟踪



Unhandled error for request POST /api/assets/{type}/upload: PayloadTooLargeError: request entity too large
    at readStream (/project/node_modules/raw-body/index.js:155:17)
    at getRawBody (/project/node_modules/raw-body/index.js:108:12)
    at read (/project/node_modules/body-parser/lib/read.js:77:3)
    at urlencodedParser (/project/node_modules/body-parser/lib/types/urlencoded.js:116:5)
    at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/project/node_modules/express/lib/router/index.js:317:13)
    at /project/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/project/node_modules/express/lib/router/index.js:335:12)
    at next (/project/node_modules/express/lib/router/index.js:275:10)
    at jsonParser (/project/node_modules/body-parser/lib/types/json.js:118:7)
    at Layer.handle [as handle_request] (/project/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/project/node_modules/express/lib/router/index.js:317:13)
    at /project/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/project/node_modules/express/lib/router/index.js:335:12)
    at next (/project/node_modules/express/lib/router/index.js:275:10)
    at nosniff (/project/node_modules/dont-sniff-mimetype/index.js:4:5)




server.js

let loopback = require('loopback');
let boot = require('loopback-boot');
let bodyParser = require("body-parser");
let app = module.exports = loopback();

app.use(bodyParser.urlencoded({extended: true,limit:10485760}));

config.json

{
  "restApiRoot": "/api",
  "host": "0.0.0.0",
  "port": 3000,
  "remoting": {
    "context": false,
    "rest": {
      "handleErrors": false,
      "normalizeHttpPath": false,
      "xml": false
    },
    "json": {
      "strict": false,
      "limit": 10485760
    },
    "urlencoded": {
      "extended": true,
      "limit": 10485760
    },
    "cors": false
  },
  "legacyExplorer": false,
  "logoutSessionsOnSensitiveChanges": true
}

我也尝试过在middleware.json中更新

  "parse": {
    "body-parser#json": {
      "limit": "52428800"
    },
    "body-parser#urlencoded": {
      "params": {
        "extended": true
      },
      "limit": "52428800"
    }
  },

2 个答案:

答案 0 :(得分:8)

在middleware.json文件中,找到或添加“parse”并输入此配置对象,如下所示:

"parse": {
    "body-parser#json": { "params" : { "limit" : "50mb"} },
    "body-parser#urlencoded": {"params": { "limit" : "50mb", "extended": true }}
  },

Source

答案 1 :(得分:0)

我也遇到了这个问题,通过在 server/config.json 文件中添加两行来解决

df["result"] = [how_many(row["at"], df["recovery_date"][:idx]) for idx, row in df.iterrows()]