在我的应用程序中,我尝试使用imagemagick调整图像大小但是在调整大小时出现以下错误错误:imagesexecvp():没有这样的文件或目录。这是我的代码
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);
};
});
答案 0 :(得分:2)
imagemagick模块使用convert
和identify
命令,您所描述的错误可能会发生,因为无法找到命令。确保命令位于路径环境变量引用的文件夹中,或者您可以在节点应用程序中引用命令:
var im = require('imagemagick');
im.identify.path = '/opt/ImageMagick/bin/identify'
im.convert.path = '/opt/ImageMagick/bin/convert';
答案 1 :(得分: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)
});
您还可以检查/tmp/Images/
中的权限(ls -l)以确保它们设置正确
答案 2 :(得分:0)
您需要安装imagemagick命令行工具。试试brew install imagemagick
答案 3 :(得分:0)
如果您使用的是ubuntu,请安装以下软件包:
apt-get install imagemagick
之后,再试一次:D