Необработанное предупреждение об ошибке:Ошибка проверки:файл, подтверждающий отправку: uuid:Приведение к номеру не удалось для значения»dc1-c7ffd748df»(строка типа) по пути «uuid

#javascript #node.js

Вопрос:

Я пытаюсь создать загрузчик файлов с помощью nodejs. когда я пытаюсь протестировать его после загрузки файла в postman, я получаю сообщение об ошибке ниже.

(узел:9992) Предупреждение о необработанном запросе: Ошибка проверки: ошибка проверки файла: uuid: Не удалось привести к номеру для значения «dc1c9e3c-2931-480a-87cf-c4c7ffd748df» (строка типа) по пути «uuid» в модели.Документ.признать недействительным (C:UsersWin10filesendernode_modulesmongooselibdocument.js:2879:32) в наборе model.$(C:UsersWin10filesendernode_modulesmongooselibdocument.js:1426:12) в наборе model.$(C:UsersWin10filesendernode_modulesmongooselibdocument.js:1128:16) у модели.Документ (C:UsersWin10filesendernode_modulesmongooselibdocument.js:148:12) у модели.модель (C:UsersWin10filesendernode_modulesmongooselibmodel.js:106:12) на новой модели (C:UsersWin10filesendernode_modulesmongooselibmodel.js:4751:15) в C:UsersWin10filesenderrouterfiles.js:30:23 по крайней мере, немедленно. (C:UsersWin10filesendernode_modulesmulterlibmake-middleware.js:53:37) в процессе выполнения (внутренний/таймеры.js:464:21) (Используйте node --trace-warnings ... чтобы показать, где было создано предупреждение) (узел:9992) Предупреждение о необработанном обещании: Необработанное обещание отклонено. Эта ошибка возникла либо в результате включения асинхронной функции без блока catch, либо в результате отклонения обещания, которое не было обработано с помощью .catch(). Чтобы завершить процесс узла при отклонении необработанного обещания, используйте флаг CLI --unhandled-rejections=strict (см. https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (идентификатор отклонения: 1) (узел:9992) [DEP0018] Предупреждение об отклонении: Необработанные отклонения обещаний считаются устаревшими. В будущем отказы в обещаниях, которые не будут обработаны, приведут к прекращению Node.js процесс с ненулевым кодом выхода.

Мой files.js

 const router = require('express').Router();
const multer = require('multer'); 
const File = require('../model/model');
const path = require('path');
const { v4: uuidv4 } = require('uuid');

let storage=multer.diskStorage({
    destination:(req,file,cb)=>cb(null,'uploads/'),
    filename:(req,file,cb)=>{
        //const uniquename =`${Date.now()}-${Math.round(Math.random()* 1E9)} ${(file.originalname)}`;
        const uniquename = `${Date.now()}-${Math.round(Math.random() * 1E9)}${path.extname(file.originalname)}`;
    cb(null,uniquename);
    }
})

let upload = multer({
    storage,
    limit: {fileSize:1000000 * 1000}
}).single('myfile')

router.post('/', (req,res)=>{

    // store file
    
    upload(req,res,async (e)=>{
        if(!req.file) res.json("file is mandatory");
        if(e){
            res.status(500).json({error:e.message});
        }
        const file =  new File({
            filename:req.file.filename,
            uuid:uuidv4(),
            path:req.file.path,
            size:req.file.size
        });
        const response= await file.save();
        res.json(`${process.env.APP_BASE_URL}/file/${response.uuid}`);
    })

})

module.exports = router; 

Здесь я могу видеть, когда я отправил почтовый запрос от почтальона, файл загружается в папку «загрузки». Но вместо того, чтобы дать этот URL (${process.env.APP_BASE_URL}/file/${response.uuid}) в качестве ответа я получаю ошибку выше. Заранее благодарю..