Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用node.js和mongodb上传视频_Mongodb_Node.js_Express_Mongoose - Fatal编程技术网

使用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 {

我不熟悉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 {
      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我已经修改了我的问题,还添加了我正在使用的代码。请看一下,并提出修改建议。这样更好,我重新打开了。下次茶歇时,我建议您阅读这篇优秀的文章: