我有一个基于 node.js 的 FTP 门户。上传超过 100MB 的文件时,出现错误。
这是错误输出:
{"error":{"message":"Request Entity Too Large","stack":"Error: Request Entity Too Large\n
at Object.exports.error (/home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/utils.js:62:13)\n
at limit (/home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/middleware/limit.js:46:47)\n
at multipart (/home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/middleware/multipart.js:97:5)\n
at /home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:57:9\n
at urlencoded (/home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/middleware/urlencoded.js:52:72)\n
at /home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:55:7\n
at json (/home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/middleware/json.js:46:55)\n at Object.bodyParser [as handle] (/home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:53:5)\n
at next (/home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/proto.js:190:15)\n
at Object.cookieParser [as handle] (/home/ubuntu/sasite-ftp/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js:60:5)","status":413}}
我在第 46 行和第 47 行查看了 connect/lib/middleware/limit.js:
if (len && len > bytes) return next(utils.error(413));
这似乎与limit.js中的这个函数有关:
module.exports = function limit(bytes){
if ('string' == typeof bytes) bytes = utils.parseBytes(bytes);
if ('number' != typeof bytes) throw new Error('limit() bytes required');
return function limit(req, res, next){
var received = 0
, len = req.headers['content-length']
? parseInt(req.headers['content-length'], 10)
: null;
如果需要,我可以发布更多代码,但是您可以轻松地在 node_modules/express/node_modules/connect/ 中查找连接代码
如果有人对实际的最大文件大小以及对它的限制有任何输入,将不胜感激。
编辑:最大文件大小为 100MB,我在什么文件中输入代码以根据以下建议的第一个答案进行更改。