我尝试了两个不同的库:multer和formidable来处理节点中的文件上传,并且它们在上传过程中都使用100%的CPU。
这是常见的节点问题吗?人们如何在高并发环境中处理它?</ p>
节点版本:v0.10.36
(我甚至尝试过其他版本,例如 v0.11.x 或 v0.10.33 )
强大的示例
Picture.upload = function(user, req, cb) {
var formidable = require('formidable')
var form = new formidable.IncomingForm();
form.uploadDir = "./uploads";
form.maxFieldsSize = app.settings.uploadMaxSize * 1024 * 1024;
form.maxFields = 1000;
form.parse(req, function(err, fields, files) {
cb(null, files);
});
}
Multer示例
app.use(multer({ dest: './uploads/',
rename: function (fieldname, filename) {
return filename+Date.now();
},
limits: {
files: 1,
fileSize: app.settings.uploadMaxSize * 1024 * 1024
}
})); // after I process the file from req.files
文件上传为multipart/form-data
。
我使用的是loopback,但我认为它没有任何区别。