Извлечение видеофайлов с помощью multer и AJAX в серверной части Node.js. - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь загрузить видеофайл в базу данных Mongo.Я использую EJS во внешнем интерфейсе, чтобы выбрать видеофайл.После этого я использую ajax-запрос, как указано ниже, для передачи данных формы на сервер.

$.ajax({
        url: '/savepost',
        type: 'post',
        data: new FormData(this),
        processData: false,
        contentType: false,
        dataType: 'json',
})

Логика / savepost приведена ниже.Здесь console.log (file) извлекает «неопределенное» значение для видеофайлов, в то время как оно хорошо работает с файлами изображений.Приветствуется любая помощь по загрузке видеофайлов с помощью multer.

router.post('/savepost',upload.single('upload'),function(req,res,next) {
    var body = req.body.body;
    var file = req.file;
    console.log(file);
    var userdata = {userID: req.user._id, fullname: req.user.fullname, image: req.user.image};
    if(file){
    cloudinary.uploader.upload("./public/images/posts/" + file.filename, function (result) {
        file.filename = result.secure_url;
        async.waterfall([
            function (callback) {
                var newPost = new Post();
                newPost.body = body.trim();
                newPost.image = file.filename;
                newPost.owner = userdata;
                newPost.save((err, data) => {
                    if (err) res.send({msg: "Something went wrong", success: false});
                    if (data) callback(null, data);
                });
            },
            function (data, callback) {
                User.findOneAndUpdate(
                    {_id: req.user._id},
                    {
                        $push:
                            {
                                posts: {
                                    post: data._id,
                                    body: data.body,
                                    image: data.image
                                }
                            }
                    },
                    (err, user) => {
                        if (err) res.send({msg: "Something went wrong", success: false});
                        if (user) res.send({msg: "Data Saved", post: data, success: true});
                    }
                );
            }
        ]);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...