Как устранить ошибку (невозможно установить заголовки после их отправки клиенту) - PullRequest
0 голосов
/ 10 января 2020

вот мой код, я сталкиваюсь с ошибкой, когда я публикую файл, сгенерированная ошибка, заголовок не может быть установлен после отправки клиенту. Код ошибки 500 внутренняя ошибка сервера. Это дает мне сообщение об ошибке, но ошибка не может обработать ошибку и код приведен ниже. GET / user1 / adduser 500 479,059 мс - 48 Ошибка [ERR_HTTP_HEADERS_SENT]: невозможно установить заголовки после их отправки клиенту на ServerResponse.setHeader (_http_outgoing. js: 494: 11)

    var storage = multer.diskStorage({
        destination: function (req, file, cb) {
            cb(null, './public/images/')
        },
        filename: function (req, file, cb) {
            cb(null, file.fieldname + Date.now() + path.extname(file.originalname))
        }
    })
    const fileFilter = (req, file, cb) => {
        if (
            file.mimetype === "image/png" ||
            file.mimetype === "image/jpg" ||
            file.mimetype === "image/jpeg"){
            cb(null, true);
        } else {
            cb(new Error("file formate should be a png,jpg,jpeg"),false);//here error generated but my server breaks down.(500 internal server Error).
        }
    };
    var upload = multer({
        storage: storage,
        limits: {
            fileSize: 2 * 1024 * 1024  //2 mb size of file .
        }, fileFilter:fileFilter
    }).single('logo_path');

router.post('/adduser', upload, (req, res, next) => {
    var options = {
        method: 'GET',
        url: ``//here my auth server URL
    };

    request(options, function (error, response, body) {
        if (error) {
            throw new Error(error);
        }
        else {
            let result = JSON.parse(body);
            console.log(result.success);
            if (result.success) {
               // res.send("Email ID already Exists: ");
            } else {
           //user.add user consists my sql query (model)
                user.addUser(req.body, req.file.filename,(err, rows) => {
                    if (err) {
                        throw err;
                        //console.log(err);
                    }
                    else {
                        res.status(201).send("data inserted succesfully");
                    }
                });
            }
        }
    });
});
...