node Js Опубликовать маршрут javascript несколько записей в одной записи - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь загрузить несколько изображений из формы на веб-страницу, но проблема в том, что она создает новые записи на каждом шаге для l oop, если я беру это из l oop, то запрос .body.ca.video1 становится неопределенным. как создать запись только один раз.

почтовый маршрут

router.post("/n/v/n", upload.array('images'), middleware.isloggedin, async function(req, res) {
    try {
        req.body.ca.video1 = [];
        for (var i = 0; i < req.files.length; i++) {

            console.log(req.files[i].path);
            cloudinary.v2.uploader.upload(req.files[i].path, { resource_type: "auto" },  function(error, result) {

                req.body.ca.video1.push({
                    url: result.secure_url,
                    format: result.format
                });
                req.body.ca.author = {
                    id: req.user._id,
                    username: req.user.username
                }
                req.body.ca.created = new Date();

                ////if i get out of this then req.body.ca becomes undefined
                const campground = await Campground.create(req.body.ca);
            });
/////here the video1 goes undefined
        }

        req.flash("success", "it is uploading");
        res.redirect("/c");
    } catch (err) {
        req.flash("error", err.message);
        res.redirect("back");
    }

});
...