आप mongoose
. का उपयोग किए बिना डायरेक्ट अपलोडिंग कर सकते हैं gridfs-stream
का उपयोग करना जितना आसान:
var express = require('express'),
mongo = require('mongodb'),
Grid = require('gridfs-stream'),
db = new mongo.Db('node-cheat-db', new mongo.Server("localhost", 27017)),
gfs = Grid(db, mongo),
app = express();
db.open(function (err) {
if (err) return handleError(err);
var gfs = Grid(db, mongo);
console.log('All set! Start uploading :)');
});
//POST http://localhost:3000/file
app.post('/file', function (req, res) {
var writeStream = gfs.createWriteStream({
filename: 'file_name_here'
});
writeStream.on('close', function (file) {
res.send(`File has been uploaded ${file._id}`);
});
req.pipe(writeStream);
});
//GET http://localhost:3000/file/[mongo_id_of_file_here]
app.get('/file/:fileId', function (req, res) {
gfs.createReadStream({
_id: req.params.fileId // or provide filename: 'file_name_here'
}).pipe(res);
});
app.listen(process.env.PORT || 3000);
पूर्ण फाइलों और चल रहे प्रोजेक्ट के लिए:
क्लोन नोड-चीट direct_upload_gridfs
, चलाएं node app
इसके बाद npm install express mongodb gridfs-stream
।
या
Node-Cheat ग्रिडएफएस के माध्यम से सीधा अपलोड README.md