【发布时间】:2017-05-14 19:30:20
【问题描述】:
我必须使用 NodeJS 将视频 blob 对象上传到 Mongo DB。 对于视频我使用 video.js https://github.com/collab-project/videojs-record 我正在使用 Ajax 调用将 blob 对象发送到 NodeJS,如下所示。
var file={
name:'abc',
data: player.recordedData.video
};
$.ajax({
type: 'POST',
url: '/uploadVideo',
data: file,
dataType: 'JSON'
}).done(function(data) {
alert("success");
});
这里的文件是 JSON 对象,我想保存在我的集合中,其中包含文件名、blob 数据等其他字段。在 Node.js 端,我有以下代码
router.post('/uploadVideo',function (req, res ,next) {
var file=req.body;
console.log("file"+file);
var collection = db.get('test');
collection.insert(file, function(err, result){
console.log('video saved in mongo db');
res.send(file);
});
});
打印文件对象的控制台语句工作正常。 但是在 mongo DB 集合中插入 JSON 时出现 500 错误。
谁能为我提供在集合中插入 blob 的解决方案?如果我的代码有任何错误,请告诉我。 谢谢
【问题讨论】:
-
请给我们完整的错误并执行
console.log(typeof(file))之类的操作。 -
当我打印 console.log(typeof(file)) 它在控制台上打印字符串。
-
我发现在数据库中填充 blob 通常不是最好的主意。它通常更昂贵,并且通常还需要更多的工作。相反,我使用正确的工具来完成正确的工作。 Blob 到大容量存储(例如 S3,并且数据库记录或文档获取对其的 URL 引用。
标签: json node.js mongodb express blob