我正在尝试将文件上传代理到firebase云功能,以便不公开我们的API网址。
似乎Firebase正在使用Body-parser来解析请求中的body,但默认情况下它限制为100kb。
我试过这个:
var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));
但似乎没有使用bodyParser。它使用嵌入Firebase框架的私有内容。有没有办法改变它的限制?
这就是我得到的:
块引用 错误:{错误:请求实体太大 在readStream(/usr/local/lib/node_modules/firebase-tools/node_modules/raw-body/index.js:196:17) at getRawBody(/usr/local/lib/node_modules/firebase-tools/node_modules/raw-body/index.js:106:12) 在读取(/usr/local/lib/node_modules/firebase-tools/node_modules/body-parser/lib/read.js:76:3) 在urlencodedParser(/usr/local/lib/node_modules/firebase-tools/node_modules/body-parser/lib/types/urlencoded.js:115:5) 在Layer.handle [as handle_request](/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/layer.js:95:5) 在trim_prefix(/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:317:13) at /usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:284:7 在Function.process_params(/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:335:12) 在下一个(/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:275:10) at textParser(/usr/local/lib/node_modules/firebase-tools/node_modules/body-parser/lib/types/text.js:78:7) 在Layer.handle [as handle_request](/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/layer.js:95:5) 在trim_prefix(/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:317:13) at /usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:284:7 在Function.process_params(/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:335:12) 在下一个(/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:275:10) at rawParser(/usr/local/lib/node_modules/firebase-tools/node_modules/body-parser/lib/types/raw.js:76:7) 预期:611961, 长度:611961, 限制:102400, 消息:'请求实体太大', 状态:413, statusCode:413, 类型:'entity.too.large'} 块引用
答案 0 :(得分:0)
您是否还使用:app.use(express.json())
?
如果你也使用这个中间件,express.json() 有 100kb 的限制,你应该尝试不用它。