html - 如何将图像转换为 bufferedArray
问题描述
我正在尝试将图像转换为这种格式的缓冲数组
<Buffer ff d8 ff e2 02 1c 49 43 43 5f 50 52 4f 46 49 4c 45 00 01 01 00 00 02 0c 6c 63 6d 73 02 10 00 00 6d 6e 74 72 52 47 42 20 58 59 5a 20 07 dc 00 01 00 19 ... >
我想将它发送到我的 fs.writefile 节点,因为当它将我的图像写入 base64 文件时会给出错误图像。谢谢
解决方案
您必须阅读有关Streams以及如何使用它们来处理数据的信息。
如果您的目标是拥有缓冲区数组,您可以编写如下内容:
const fs = require('fs');
const img = '/path/to/image.jpg';
const fileStream = fs.createReadStream(img);
const buffers = [];
fileStream.on('data', chunk => {
buffers.push(chunk);
})
fileStream.on('end', () => {
console.log(buffers)
})
但是,如果您想将文件写入另一个位置,最好是pipe()
流式传输。
像这样的代码:
fs.createReadStream(file).pipe(fs.createWriteStream(destination))
此外,这里是使用流的惊人教程
推荐阅读
- java - @XmlElementWrapper 序列化无法使用 Jackson JaxB 注释
- swift - 调用函数时获取零值
- python - tkinter 滚动框架按钮随框架调整大小
- redis - 为什么redis客户端不响应命令?
- c++ - 在 C++ 中打印 BST 的函数
- .net - 如何从 Powershell 中的 .net 类继承
- swift - 显示存储在 Firebase 中的所有 GeoFire 位置
- r - R:对文本变量进行分类
- angular - is there an OnActivate method for angular?
- opencv - 在 ubuntu 18.04 上安装 opencv 2.4.9