如何从缓冲区返回文件流?

图恩3eR

我已经存储了图像,它的大小(以字节为单位)及其类型存储在mysql数据库中。

当我获取它时,我正在获取图像的缓冲区,现在我试图找出如何将其发送回我的客户端,以便它呈现图像?

我的路线内的代码:

  const img = await db.images.findByPk(parser.setValueAsBIN(p.id));

   const myReadableStreamBuffer = new streamBuffers.ReadableStreamBuffer({
    frequency: 10, // in milliseconds.
    chunkSize: img.Length, // in bytes.
  });



 myReadableStreamBuffer.put(img.dataValues.imageData);

下一步是什么?

如果我要登录 myReadableStreamBuffer

我得到:

Readable {   _readableState:    ReadableState {
     objectMode: false,
     highWaterMark: 16384,
     buffer: BufferList { head: null, tail: null, length: 0 },
     length: 0,
     pipes: null,
     pipesCount: 0,
     flowing: null,
     ended: false,
     endEmitted: false,
     reading: false,
     sync: true,
     needReadable: false,
     emittedReadable: false,
     readableListening: false,
     resumeScheduled: false,
     paused: true,
     emitClose: true,
     autoDestroy: false,
     destroyed: false,
     defaultEncoding: 'utf8',
     awaitDrain: 0,
     readingMore: false,
     decoder: null,
     encoding: null },   readable: true,   domain: null,   _events: [Object: null prototype] {},   _eventsCount: 0,   _maxListeners: undefined,   stopped: false,   stop: [Function],   size: [Function],   maxSize: [Function],   put: [Function],   _read: [Function] }
曼努埃尔·斯皮戈隆(Manuel Spigolon)

方法中也要固定支持流和缓冲reply.send()

这里是如何管理它们:


const fs = require('fs')
const { Readable } = require('stream')
const fastify = require('fastify')({ logger: true })

fastify.get('/', (req, reply) => {
  const buffer = fs.readFileSync('demo.png')
  reply.type('image/png') // if you don't set the content, the image would be downloaded by browser instead of viewed
  reply.send(buffer)
})

fastify.get('/stream', (req, reply) => {
  const buffer = fs.readFileSync('demo.png') // sync just for DEMO
  const myStream = new Readable({
    read () {
      this.push(buffer)
      this.push(null)
    }
  })

  reply.type('image/png')
  reply.send(myStream)
})

fastify.listen(3000)

(我将避免使用stream-buffers软件包,因为它似乎不再得到维护-问题未得到解决-并且streamnode.js中的默认模块已得到极大改进)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将o / p存储到缓冲区,然后从缓冲区存储到文件

来自分类Dev

从缓冲区创建的NSData创建UIImage返回nil?

来自分类Dev

如何使用Node tmp Package从缓冲区写入文件

来自分类Dev

如何在拆分窗口中从缓冲区打开文件?

来自分类Dev

Python:从缓冲区播放视频文件

来自分类Dev

从缓冲区加载HICON(*。ico文件)

来自分类Dev

从缓冲区读取 csv 文件得到了 EmptyDataError?

来自分类Dev

如何使QAudioOutput对象从缓冲区播放?

来自分类Dev

如何在内存流中获取word文件,将其存储在缓冲区中并以PDF格式返回?

来自分类Dev

ReadAsync从缓冲区获取数据

来自分类Dev

Python从缓冲区读取数据

来自分类Dev

从缓冲区读取Python 2.6

来自分类Dev

如何从文件读入并从缓冲区输出到另一个数组

来自分类Dev

返回从缓冲区和函数读取的字符串而没有动态分配?

来自分类Dev

如何使char缓冲区充当文件?

来自分类Dev

如何获取缓冲区的文件路径?

来自分类Dev

如何可移植地获取文件流的缓冲区大小?

来自分类Dev

从缓冲区将数据写入磁盘上的wave文件

来自分类Dev

如何从缓冲区读取并存储为int和float变量

来自分类Dev

如何使用流解析缓冲区中的行?

来自分类Dev

如何从内存缓冲区加载张量流图

来自分类Dev

如何在流缓冲区C中添加参数

来自分类Dev

如何使用puppeteer获取下载流(缓冲区)?

来自分类Dev

如何使用流解析缓冲区中的行?

来自分类Dev

您将如何限制缓冲区大小并返回c ++中的缓冲区限制?

来自分类Dev

谷歌大查询 - 从缓冲区刷新数据(缓冲区上的 4 天数据)

来自分类Dev

python lxml:从缓冲区导入XSD?

来自分类Dev

从缓冲区创建QImage,没有深层副本?

来自分类Dev

Android AudioRecord / AudioTrack:从缓冲区播放录音

Related 相关文章

  1. 1

    如何将o / p存储到缓冲区,然后从缓冲区存储到文件

  2. 2

    从缓冲区创建的NSData创建UIImage返回nil?

  3. 3

    如何使用Node tmp Package从缓冲区写入文件

  4. 4

    如何在拆分窗口中从缓冲区打开文件?

  5. 5

    Python:从缓冲区播放视频文件

  6. 6

    从缓冲区加载HICON(*。ico文件)

  7. 7

    从缓冲区读取 csv 文件得到了 EmptyDataError?

  8. 8

    如何使QAudioOutput对象从缓冲区播放?

  9. 9

    如何在内存流中获取word文件,将其存储在缓冲区中并以PDF格式返回?

  10. 10

    ReadAsync从缓冲区获取数据

  11. 11

    Python从缓冲区读取数据

  12. 12

    从缓冲区读取Python 2.6

  13. 13

    如何从文件读入并从缓冲区输出到另一个数组

  14. 14

    返回从缓冲区和函数读取的字符串而没有动态分配?

  15. 15

    如何使char缓冲区充当文件?

  16. 16

    如何获取缓冲区的文件路径?

  17. 17

    如何可移植地获取文件流的缓冲区大小?

  18. 18

    从缓冲区将数据写入磁盘上的wave文件

  19. 19

    如何从缓冲区读取并存储为int和float变量

  20. 20

    如何使用流解析缓冲区中的行?

  21. 21

    如何从内存缓冲区加载张量流图

  22. 22

    如何在流缓冲区C中添加参数

  23. 23

    如何使用puppeteer获取下载流(缓冲区)?

  24. 24

    如何使用流解析缓冲区中的行?

  25. 25

    您将如何限制缓冲区大小并返回c ++中的缓冲区限制?

  26. 26

    谷歌大查询 - 从缓冲区刷新数据(缓冲区上的 4 天数据)

  27. 27

    python lxml:从缓冲区导入XSD?

  28. 28

    从缓冲区创建QImage,没有深层副本?

  29. 29

    Android AudioRecord / AudioTrack:从缓冲区播放录音

热门标签

归档