小编Dan*_*mer的帖子

从Node.js中的子进程读取二进制数据

当尝试从ImageMagick子进程读取Node.js中的数据时,它会被破坏.

一个简单的测试用例如下:

var fs = require('fs');
var exec = require('child_process').exec;

var cmd = 'convert ./test.jpg -';
exec(cmd, {encoding: 'binary', maxBuffer: 5000*1024}, function(error, stdout) {
  fs.writeFileSync('test2.jpg', stdout);
});
Run Code Online (Sandbox Code Playgroud)

我希望这相当于convert ./test.jpg - > test2.jpg正确编写二进制文件的命令行.

最初,maxBuffer选项太小而导致截断文件出现问题.增加之后,文件现在看起来比预期略大并且仍然损坏.来自stdout的数据需要通过HTTP发送.

从ImageMagick标准输出读取这些数据的正确方法是什么?

binary process node.js

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

binary ×1

node.js ×1

process ×1