2015-10-13 96 views
-2

請先看代碼。在這裏,我正在拍攝一系列輸入,並且照片的名稱以數組格式顯示。Image Magick模塊拋出奇怪的錯誤(Express js Node js)

for (var i = 0; i < photos.length; i++) { 
var x = './images/offers/' + testooo + '/' + photos[i]; 
var y = './images/offers/' + testooo + '/thumbnails/' + photos[i]; 
/* 
gm(x) 
.resizeExact(200, 200) 
.write(y, function (err) { 
    if (!err) console.log('done'); 
});*/ 

im.resize({ 

    srcData: fs.readFileSync(x, 'binary'), 
    width: 200 
}, function(err, stdout, stderr) { 
    if (err) { 

     console.log(err); 
     console.log('error part'); 
    } 
    fs.writeFileSync(y, stdout, 'binary'); 
    console.log('Resized Photos'); 
}); 
} 

你可以看到,難懂的部分是有它拋出這個錯誤。

events.js:85 
     throw er; // Unhandled 'error' event 
      ^
Error: write EOF 
    at exports._errnoException (util.js:746:11) 
    at WriteWrap.afterWrite (net.js:775:14) 

現在一兩件事我想加你可以看到,在評論部分有一些東西開始通用文字。我也嘗試使用圖形magick模塊。代碼運行時沒有任何錯誤,但沒有創建拇指指甲。圖形Magick模塊使用圖像magick模塊工作。

請讓我知道我做錯了什麼。

+1

在你調用'im.resize()'之前,你可以像[圖](http://stackoverflow.com/a/17699926/690573)一樣調用'fs.stat()',並顯示輸出?這將幫助我們排除故障。 –

+0

@NathanJones謝謝你的時間。我剛剛做到了,File Exists打印在我的控制檯上。 –

+2

如果你打開一個命令行shell,你可以運行'convert -version'嗎?根據[this](http://stackoverflow.com/a/21871588/690573),你可能實際上沒有安裝imagemagick。 –

回答

2

此錯誤可能是由ImageMagick未安裝引起的。

如果您無法運行convert -version並查看Shell中的ImageMagick版本詳細信息,那麼您可能尚未安裝它。可以找到安裝程序here