var getGridFsStreams = function (url, fileId) { return new Promise(function (resolve, reject) { mongoDBPool.getConnection(url).then(function (db) { var gfs = Grid(db, mongo); var readstream = gfs.createReadStream({ _id: fileId }); streamToPromise(readstream).then(function (buffer) { var base64 = Buffer(buffer).toString('base64'); return resolve(base64); }).catch(function (err) { return reject(err); }); }).catch(function (err) { return reject(err); }); }); }
.finally(() => { stringify.end(); return streamToPromise(stringify); }) .finally(() => writeStream.end());
var insertGridFsStreams = function (url, metadata, path) { return new Promise(function (resolve, reject) { mongoDBPool.getConnection(url).then(function (db) { var gfs = Grid(db, mongo); var writestream = gfs.createWriteStream({ filename: metadata.filename, metadata: metadata }); var writableStream = fs.createReadStream(path).pipe(writestream); streamToPromise(writableStream); writestream.on('close', function (file) { if (file.filename) { return resolve(true); } else { return reject('fail insert gridfs streams'); } }); }).catch(function (err) { return resolve(err); }); }); }