Подскажите, пожалуйста.
Согласно документации multer
limits - Объект, устанавливающий ограничения. Multer прокидывает этот объект напрямую в busboy, поэтому детали можно посмотреть на странице с методами busboy.
Я поставил лимит на 1 мб, когда грузится файл большего размера - идёт throw error в этот busboy, и node.js отсылает клиенту большую страницу с ошибкой.
Как мне при возникновении этого исключения на размере файла поймать ошибку, что бы свой текст отсылать?
'use strict';
const express = require("express");
const multer = require("multer");
const fs = require("fs");
const app = express();
const storageConfig = multer.diskStorage({
destination: (req, file, cb) =>{
cb(null, "uploads");
},
filename: (req, file, cb) =>{
cb(null, file.originalname);
}
});
const myfilelimits = {fileSize : 1048576};
app.use(express.static(__dirname));
var myupload = multer({storage:storageConfig, limits: myfilelimits}).single("file")
app.use(myupload);
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.post("/upload", function (req, res, next) {
let filedata = req.file;
console.log(filedata);
if(!filedata) {
res.send("Ошибка при загрузке файла");
}
else {
// res.send("Файл загружен");
filedata.uploadok = 'ok'
res.send (filedata)
}
myupload(req, res, function (err) {
if (err instanceof multer.MulterError) {
// Случилась ошибка Multer при загрузке.
console.log('Случилась ошибка Multer при загрузке.');
} else {
// При загрузке произошла неизвестная ошибка.
console.log('При загрузке произошла неизвестная ошибка.');
}
// Все прекрасно загрузилось.
console.log('Все прекрасно загрузилось');
})
});