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 :)