загрузка видео с использованием node.js и mongodb - PullRequest
0 голосов
/ 12 ноября 2011

Я новичок в MongoDB и node.js.Я хочу знать, как я могу сохранить и извлечь видео файл в MongoDB, используя node.js?Любая помощь будет оценена.Код, который я использую:

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.

1 Ответ

2 голосов
/ 12 ноября 2011

https://github.com/marcello3d/node-mongolian полезно для строковых файлов в GridFS.

Есть больше примеров того, как использовать библиотеку, чем я могу опубликовать здесь, в папке примеров.

здесь: https://github.com/marcello3d/node-mongolian/blob/master/examples/mongolian_trainer.js

Если вы не уверены, что такое GridFS, вы можете узнать здесь: http://www.mongodb.org/display/DOCS/GridFS

и спасибо за улучшение вашего вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...