Я пытаюсь прочитать файл, закодированный в base64, из коллекции MongoDB GridFS, используя Node. Мне удалось сохранить файл, сохраненный из MongoDB, на мой локальный компьютер, но он в формате base64, и я хочу сохранить его в незакодированном виде.
В идеале я хотел бы декодировать файл «на лету», не сохраняя его один раз, чтобы затем прочитать> декодировать> записать его обратно в файловую систему.
Мой код в настоящее время выглядит так...
return new Promise(async (resolve, reject) => {
let bucket = new mongodb.GridFSBucket(db, {bucketName: 'Binaries'});
let objectID = new mongodb.ObjectID(fileID);
// create the download stream
bucket.openDownloadStream(objectID)
.once('error', async (error) => {
reject(error);
})
.once('end', async () => {
resolve(downloadPath);
})
// pipe the file to the stream
.pipe(fs.createWriteStream(downloadPath));
});
Любые идеи?