Sha*_*han 2 image-processing node.js sharp
我从外部获取缓冲区数据到我的程序,我想处理缓冲区数据并将其作为缓冲区发送。所以我不想将缓冲区转换为图像。我怎样才能做到这一点?
我尝试这种方式,但它不起作用。
const process = await sharp(incoming_buffer_data).grayscale();
Run Code Online (Sandbox Code Playgroud)
fs.writeFileSync('test.jpg', process);// 我正在使用它进行测试。总是我得到一个错误的图像格式
假设incoming_buffer_data确实是一个缓冲区并且具有支持的图像格式。
您可以将输出作为缓冲区获取,然后将其发送到fs.writeFileSync()您尝试执行的操作
const buffer = await sharp(incoming_buffer_data).grayscale().toBuffer();
fs.writeFileSync('test.jpg', buffer);
Run Code Online (Sandbox Code Playgroud)
或者你可以直接将其写入文件
await sharp(incoming_buffer_data).grayscale().toFile('test.jpg');
Run Code Online (Sandbox Code Playgroud)