Imagemagick pipes #imagemagick
var fs = require('fs')
var spawn = require('child_process').spawn
var request = require('request')
var photoStream1 = request('http://www.imagemagick.org/image/wizard.jpg')
var outFileStream = fs.createWriteStream(__dirname + '/temp-convert.jpg')
var convert = spawn('convert', ['-', '-append', '-'], {
stdio: ['pipe', 'pipe', 2]
})
photoStream1.pipe(convert.stdin)
convert.stdout.pipe(outFileStream)
// OK
// temp-convert.jpg contains image
var fs = require('fs')
var spawn = require('child_process').spawn
var request = require('request')
var photoStream1 = request('http://www.imagemagick.org/image/wizard.jpg')
var photoStream2 = request('http://www.imagemagick.org/image/button.gif')
var outFileStream = fs.createWriteStream(__dirname + '/temp-convert.jpg')
// http://www.imagemagick.org/script/command-line-processing.php#input
var convert = spawn('convert', ['-', 'fd:3', '-append', '-'], {
stdio: ['pipe', 'pipe', 2, 'pipe']
})
photoStream1.pipe(convert.stdin)
photoStream2.pipe(convert.stdio[3])
convert.stdout.pipe(outFileStream)
// Error: shutdown ENOTCONN
// temp-convert.jpg is empty