2012-09-25 51 views
2

在我的應用程序使用ImageMagick調整圖像大小,我試圖使用ImageMagick來調整圖像大小,但我得到的同時調整以下錯誤錯誤:imagesexecvp():沒有這樣的文件或directory.this是我的代碼在node.js中

im.resize({ 
    srcPath: '/tmp/Images/' + req.files.image.name, 
    dstPath: 'resized_'+req.files.image.name , 
    width:42, 
    height:42 
}, function(err, stdout, stderr){ 
    if (err) { 

     console.log('error while resizing images' + stderr); 
    }; 
}); 

回答

2

ImageMagick的模塊使用convertidentify命令和你所描述的錯誤可能發生因爲找不到命令。確保命令是由PATH環境變量引用的文件夾中,或者您可以在您節點應用引用命令:

var im = require('imagemagick');  
im.identify.path = '/opt/ImageMagick/bin/identify' 
im.convert.path = '/opt/ImageMagick/bin/convert'; 
0

看起來您正在嘗試調整文件的大小而不更改目標。試試這個:

im.resize({ 
    srcPath: process.cwd() + '/tmp/Images/' + req.files.image.name, 
    dstPath: process.cwd() + '/tmp/Images/resized_'+req.files.image.name , 
    width:42, 
    height:42 
}, function(err, stdout, stderr){ 
    if (err) { 
     console.log('error while resizing images' + stderr); 
    }; 
    console.log(process.cwd() + '/tmp/Images/' + req.files.image.name + 'has been resized and saved as ' + process.cwd() + '/tmp/Images/resized_'+req.files.image.name) 
}); 

您也可以檢查您的權限(ls -l命令)在/tmp/Images/,以確保它們正確設置

0

您需要安裝圖像神奇的命令行工具。嘗試brew install imagemagick

0

如果你是在Ubuntu上,安裝包是這樣的:

apt-get install imagemagick 

之後,再試一次:d