使用node.js和mongodb上传视频
我不熟悉MongoDB和node.js。我想知道如何使用node.js在MongoDB中存储和获取视频文件?任何帮助都将不胜感激。我使用的代码是:使用node.js和mongodb上传视频,mongodb,node.js,express,mongoose,Mongodb,Node.js,Express,Mongoose,我不熟悉MongoDB和node.js。我想知道如何使用node.js在MongoDB中存储和获取视频文件?任何帮助都将不胜感激。我使用的代码是: app.post('/videos/new', function(req, res) { req.form.complete(function(err, fields, files) { console.log('here i go'); if(err) { next(err); } else {
app.post('/videos/new', function(req, res) {
req.form.complete(function(err, fields, files) {
console.log('here i go');
if(err) {
next(err);
} else {
ins = fs.createReadStream(files.file.path);
console.log('insssssssssssss'+ins);
ous = fs.createWriteStream(__dirname + '/static/uploads/videos/' + files.file.filename);
util.pump(ins, ous, function(err) {
if(err) {
next(err);
} else { RegProvider.save({
file: req.param(files.file.filename),
filename: req.param('filename')
}, function(error, docs) {
res.redirect('/videos');
});
}
});
//console.log('\nUploaded %s to %s', files.file.filename, files.file.path);
//res.send('Uploaded ' + files.file.filename + ' to ' + files.file.path);
}
});
});
检索视频文件的代码为:
var fs = require('fs');
var src_path = __dirname + '/static/uploads/vidoes/'
module.exports.list = function(callback) {
fs.readdir(src_path,function(err, files){
var ret_files = [];
files.forEach(function(file) {
ret_files.push('/uploads/videos/' + file);
});
console.log(ret_files);
callback(err, ret_files);
});
};
它工作正常,但在MongoDB中不存储任何内容。
对于GridFS中的字符串文件很有用
关于如何使用这个库的例子比我在这里的examples文件夹中发布的要多
在这里:
如果您不确定GridFS是什么,您可以在这里找到:
谢谢你改进了你的问题。请在发帖前格式化你的问题并做一些研究。你问了n个问题。试着问实际的问题,而不是问那么多问题。我们希望你尝试自己解决这个问题,而不是要求社区为你找到一个完整的解决方案。当您有一些代码向我们展示您的一些努力时(即使是错误的),请更新您的问题和标志以重新打开。谢谢。@Kev我已经修改了我的问题,还添加了我正在使用的代码。请看一下,并提出修改建议。这样更好,我重新打开了。下次茶歇时,我建议您阅读这篇优秀的文章: