Я пытаюсь прочитать файл, закодированный в 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));
});
Есть идеи?