相关疑难解决方法(0)

从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万
查看次数

PhantomJS:管道输入

我正在尝试使用PhantomJS将html页面呈现为pdf.我不想把文件写到磁盘上,我在内存中有html,我想在内存中使用pdf.

这个问题上使用Pooria Azimi的优秀答案,我能够从命名管道中获取pdf.当在另一端尝试相同(用命名管道替换输入文件)时,我最终得到一个空白的pdf.

这就是我现在正在做的事情(简化):

mkfifo in_pipe.html out_pipe.pdf
./phantomjs rasterize.js in_pipe.html out_pipe.pdf
Run Code Online (Sandbox Code Playgroud)

然后在另一个终端:

echo '<center>hey!</center>' > in_pipe.html
cat out_pipe.pdf > out.pdf
Run Code Online (Sandbox Code Playgroud)

文件out.pdf已创建,但为空.我错过了什么吗?

linux pipe named-pipes mkfifo phantomjs

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

标签 统计

binary ×1

linux ×1

mkfifo ×1

named-pipes ×1

node.js ×1

phantomjs ×1

pipe ×1

process ×1