Utilisation de GridFS et Mongoose

Par Neewd, il y a 9 ans


Bonjour,

Je voudrais sauvegarder l'image de profil de mon utilisateur directement dans MongoDB à la palce de sauvegarder uniquement le path vers cette image.
J'ai regardé sur le net et Mongo préconise l'utilisation de GridFS. J'ai suivi à la lettre les conseils d'utilisation de leurs package NPM (https://github.com/aheckmann/gridfs-stream) et pourtant rien ne se passe, mon image n'est pas sauvegardé, mais pourtant j'ai bien les collections fs.files et fs.chunks qui sont créées mais vide donc.

Voici mon code.

router.post('/api/picture/profile', customMW.auth, upload.single('coverImage'), function(req, res) {

router.post('/api/picture/profile', customMW.auth, upload.single('coverImage'), function(req, res) { var gridfs = app.get('gridfs'); var fileId = new mongoose.Types.ObjectId(); // streaming to gridfs var writestream = gridfs.createWriteStream({ filename: 'myfile.txt' }); fs.createReadStream("/Users/clem/Desktop/myfile.txt").pipe(writestream); writestream.on('close', function(file) { // do something with `file` console.log(file.filename); });

Et l'init de GridFS

var Grid = require('gridfs-stream'); Grid.mongo = mongoosedb.mongo; mongoosedb.Promise = global.Promise; mongoosedb.connect("mongodb://localhost/promin"); var conn = mongoosedb.createConnection("mongodb://localhost/promin"); //var conn = mongoosedb.connection; conn.once('open', function(){ var gfs = Grid(conn); app.set('gridfs', gfs); app.set('grid', Grid); })

Si quelqu'un à une idée :)

Aucune réponse