Сколько бы не пытался, что бы не делал, в любом случае он сначала докачивает полностью файл (хоть 50гб.), а только потом проверяет размер и расширение (и удаляет, как в моем примере)
multer({
dest: './upload/',
limits: {
fileSize: 3*1024*1024
},
onFileUploadData: function(file, req, res) {
if (file.size > 1024*1024*3) {
return false; // Если файл не картинка, то file - вообще не выводиться, соответственно и размер не проверить
console.log('limit');
}
},
onFileUploadStart: function (file, req, res) {
console.log('Upload started');
var mime = file.mimetype;
if (mime != 'image/jpeg' && mime != 'image/png') {
res.end('Неправильный тип файла.');
return false;
}
},
onFileSizeLimit: function (file) {
console.log('Failed: ', file.originalname);
fs.unlink('./' + file.path);
},
onFileUploadComplete: function (file, req, res) {
res.end('file uploaded');
console.log('uploaded');
}
});
Что я делаю не так? Или как можно решить эту проблему без multer?