Javascript 发送到客户端错误节点后无法设置标头

Javascript 发送到客户端错误节点后无法设置标头,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我是Nodejs新手,希望在文件mimetype不是png或jpeg时发送响应代码404。 以及我想发送响应代码404,如果文件大小大于5mb。 我正在使用此代码执行此操作,并且在nodejs上的日志中出现此错误 return res.send()}条件为true。{“message”:{},“data”:{}要发回一个对象,请使用res.json()(另外,错误的原因是您试图多次发回一个响应,因此需要确保只调用一个.res.send())在res.send()之前添加return解决了@An

我是Nodejs新手,希望在文件mimetype不是png或jpeg时发送响应代码404。 以及我想发送响应代码404,如果文件大小大于5mb。

我正在使用此代码执行此操作,并且在nodejs上的日志中出现此错误


return res.send()}
条件为true。
{“message”:{},“data”:{}
要发回一个对象,请使用
res.json()
(另外,错误的原因是您试图多次发回一个响应,因此需要确保只调用一个.res.send())在res.send()之前添加return解决了@AndreasSchrottenbaum建议的问题。
router.post("/insertNewProduct", auth, receive.single('productUrl'), async (req, res) => {
    try {
      
        if (req.file.mimetype !== 'image/jpeg' && file.mimetype !== 'image/png') {
            res.status(404).send({
              
                message: "Column productUrl can only accept jpeg or png image",
                data: {}
            })
        } else if (req.file.size > (1024 * 1024 * 5)) {
            res.status(404).send({
                message: "Image size can not be greater that 5mb.",
                data: {}
            })
        }else{
              //Add Product to db
       }

 } catch (e) {
        res.status(404).send({
            message: e,
            data: {}
        });
    }
});