当我尝试将带有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');
正如您在我的代码中看到的,我创建了一个新视频,我通过我的元数据链接到该视频。它确实创建了一个新的视频模型,但它没有创建新的ctFiles.files对象。