2016-07-04 25 views
0

我想執行convert裏面節點使用spawn
該命令沒有任何錯誤運行:NodeJs,Spawn轉換

var args = [ 
    'img1.jpg', 
    'img2.jpg', 
    '-gravity', 'center', 
    '-composite', '-' 
]; 

var ls = spawn('convert',args); 
ls.stderr.on('data', function (data) { 
    console.log('stderr: ' + data); 
}); 

但是當我試試這個:

var args = [ 
    'img1.jpg', 
    '\\(img2.jpg -resize 10x10 \\)', 
    '-gravity', 'center', 
    '-composite', '-' 
]; 
var ls = spawn('convert',args); 
ls.stderr.on('data', function (data) { 
    console.log('stderr: ' + data); 
}); 

收到此錯誤:

stderr: convert: unable to open image `\(img2.jpg -resize 10x10 \)': No such file or directory @ error/blob.c/OpenBlob/2702. 
convert: no decode delegate for this image format `JPG -RESIZE 10X10 \)' @ error/constitute.c/ReadImage/504. 
convert: no images defined `-' @ error/convert.c/ConvertImageCommand/3257. 

回答

1

我找到了答案: 參數必須是全部拆分:

var args = [ 
    'img1.jpg', 
    '\\(','img2.jpg','-resize','10x10','\\)', 
    '-gravity', 'center', 
    '-composite', '-' 
]; 
+0

不錯!我遇到了使用.exec文件的類似問題。我的問題是我的參數「-resize 10x10」作爲一個數組項而不是將它們分成兩個參數。 – KFE