Вопрос по express, node.js, mongodb, mongoose – хранить изображения в mongodb, используя mongoose ?? как?

6

у кого-нибудь есть быстрый пример вставки изображения в mongodb с помощью mongoose и nodejs express

Я прочитал несколько примеров, но я не могу понять, как?

я хочу загрузить изображение в форме

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);
    }
  });
});

как этот пример, но я не понимаю, как это работает

Стандартный способ MongoDB для обработки этого варианта использования заключается в использовании GridFS:mongodb.org/display/DOCS/GridFS JohnnyHK
Подобные вопросы задавались несколько раз в StackOverflow, так что вы можете взглянуть на прошлые ответы. Если ваши изображения вряд ли превысят текущий предел размера документа BSON в 16 Мб, вы можете сериализовать изображения как двоичные и сохранить их в документе, а не с помощью GridFS. Вот пример суть:store/display an image in mongodb using mongoose/express. Stennie
Возможно, вам лучше загрузить файл на что-то вроде S3, а затем просто сохранить публичный URL-адрес этого файла в вашей базе данных. Огромный размер данных изображений может привести к серьезным проблемам с производительностью практически любой базы данных. Alex Wayne
JohnnyHK, можете ли вы дать мне пример для загрузки файла jpg "apos;"? "? andrescabana86
это не для массового хранения ... но TNX для совета andrescabana86

Ваш Ответ

1   ответ
5

util.pump являетсяосуждается.

Вы можете попробоватьhttps://github.com/aheckmann/gridform или жеhttps://github.com/aheckmann/connect-multipart-gridform и посмотрите, соответствуют ли они вашим потребностям.

это то, что я ищу .... tnx andrescabana86

Похожие вопросы