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