1

当我尝试将带有 heroku 的文件上传到数据库时,它将无法正常工作。

如果我用 localhost 做它确实有效。

任何人都知道为什么当我尝试将文件上传到 heroku 时没有处理我的文件?有人知道修复吗?我对 Heroku 有点陌生,因为我在日志中没有错误,所以我不知道出了什么问题。

以下是我的代码:

function addVideo(req, res) {
    console.log(req.files);
    User.findOne({ 'userName' : req.params.username }, function (err, user) {
        var video = new Video();
        video.sporter = user;
        video.save()
            .then(video => {
                vid = video;
                console.log(vid);
                upload(req, res, function(err) {
                    if (err)
                        handleError(req, res, 500, err);
                });
                res.status(201).json(video);
             })
            .fail(err => handleError(req, res, 500, err));
    });
}
var storage = GridFsStorage({
    gfs : gfs,
    chunkSize: 32740 ,
    filename: function (req, file, cb) {
        console.log(file);
        cb(null, vid._id);
    },
    /** With gridfs we can store additional meta-data along with the file */
    metadata: function(req, file, cb) {
        console.log(vid);
        cb(null,
            {   originalname: file.originalname,
                videoId: vid._id
            });
    },
    root: 'ctFiles' //root name for collection to store files into
});

var upload = multer({ //multer settings for single upload
    storage: storage
}).single('file');

正如您在我的代码中看到的,我创建了一个新视频,我通过我的元数据链接到该视频。它确实创建了一个新的 Video 模型,但它没有创建一个新的 ctFiles.files 对象。

4

0 回答 0