Как я могу преобразовать изображение в BufferedArray - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь преобразовать изображение в буферный массив, как этот формат

<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. Спасибо

1 Ответ

0 голосов
/ 10 января 2019

Вы должны прочитать о потоках и о том, как использовать их для обработки данных.
Если ваша цель - создать массив буферов, вы можете написать что-то вроде этого:

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))

Кроме того, вот замечательное руководство по использованию потоков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...