reactjs - 使用 GridFS-Stream 通过 Axios 将图像文件发送到前端 React.js - 将块转换为字符串 base64
问题描述
所以我已经使用 Multer 和 Multer-Gridfs-Storage 成功地将我的图像文件下载到了我的 MongoDB 中,但是我在检索它时遇到了麻烦。
当我尝试使用 GridFS-Stream 检索数据时,它像之前的问题一样返回: GridFS : How to display the result of readstream.pipe(res) in an <img/> tag?
当我使用这段代码时,发送到我的前端的只是集合中的第一个块,但它实际上是可用的。
const readstream = gfs.createReadStream({ filename: files[0].filename });
readstream.on('data', (chunk) => {
res.send({ image: chunk.toString('base64') })
})
我怎样才能取回所有的块?我应该放弃并开始使用 GridFSBucket 吗?
解决方案
我最终尝试了这个并且它有效!
let data = ''
readstream.on('data', (chunk) => {
data += chunk.toString('base64')
})
readstream.on('end', () => {
res.send(data)
})
推荐阅读
- angular - Chrome 会阻止 blob 对象并显示下载的文件很危险
- javascript - 运行 http-server 时的 ERR_INVALID_REDIRECT
- java - java 8中lamda表达式的使用
- r - 创建一个包含缺少数据的计数和百分比的表
- node.js - 运行win32函数的electron/node-ffi错误
- azure-devops - 在 wiql 中,有没有办法从所有子任务中总结已完成、剩余时间等...?
- java - Mockito 中缺少任何 *() 静态方法 1.如何合理替换它们?
- javascript - 将现代javascript中输入类型数字的两个值相加
- android - Android Webview 访问被拒绝
- c# - 语音频道 ID