MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

अपलोड के बाद एक्सप्रेसजेएस के साथ मोंगो के ग्रिडएफएस में फाइल स्टोर करें

यहाँ एक सरल डेमो है:

var express = require('express');
var fs      = require('fs');
var mongo   = require('mongodb');
var Grid    = require('gridfs-stream');
var db      = new mongo.Db('test', new mongo.Server("127.0.0.1", 27017), { safe : false });

db.open(function (err) {
  if (err) {
    throw err;
  }
  var gfs = Grid(db, mongo);
  var app = express();

  app.use(express.bodyParser());
  app.post('/upload', function(req, res) {
    var tempfile    = req.files.filename.path;
    var origname    = req.files.filename.name;
    var writestream = gfs.createWriteStream({ filename: origname });
    // open a stream to the temporary file created by Express...
    fs.createReadStream(tempfile)
      .on('end', function() {
        res.send('OK');
      })
      .on('error', function() {
        res.send('ERR');
      })
      // and pipe it to gfs
      .pipe(writestream);
  });

  app.get('/download', function(req, res) {
    // TODO: set proper mime type + filename, handle errors, etc...
    gfs
      // create a read stream from gfs...
      .createReadStream({ filename: req.param('filename') })
      // and pipe it to Express' response
      .pipe(res);
  });

  app.listen(3012);
});

मैं httpie का उपयोग करता हूं फ़ाइल अपलोड करने के लिए:

http --form post localhost:3012/upload [email protected]~/Desktop/test.png

फ़ाइल अपलोड होने पर आप अपने डेटाबेस की जांच कर सकते हैं:

$ mongofiles list -d test
connected to: 127.0.0.1
test.png    5520

आप इसे फिर से डाउनलोड भी कर सकते हैं:

http --download get localhost:3012/download?filename=test.png



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Google क्लाउड प्लेटफ़ॉर्म पर एक नोडज ऐप को परिनियोजित करना

  2. मोंगो के साथ सभी दस्तावेजों में सरणी घटनाओं की गणना करें

  3. उत्पादन उपयोग के लिए MongoDB जावा ड्राइवर MongoOptions को कैसे कॉन्फ़िगर करें?

  4. MongoDB - एक संग्रह बनाएँ

  5. Express.js - URL में एक mongodb आईडी फ़िल्टर करें