我迷失了这个错误的来源,我希望你能帮助我。我是node的新手,我正在尝试使用imagemagick调整图像大小:
var express = require('express'),
fs = require('fs'),
gm = require('gm'),
imagemagick = require('imagemagick'),
var gm = require('gm').subClass({ imageMagick: true });
var app = express();
app.get('/', function (req, res) {
console.log(__dirname + "/public/photos/4af1e720-a662-11e3-952c-61812ab60f67.jpg");
imagemagick.resize({
srcData: fs.readFileSync(__dirname + "/public/photos/4af1e720-a662-11e3-952c-61812ab60f67.jpg", 'binary'),
width: "400"
}, function(err,stdout,stderr){
if (err) console.log(err);
fs.writeFile(__dirname + "/public/photos/thumbnail/4af1e720-a662-11e3-952c-61812ab60f67.jpg", stdout, 'binary');
});
});
我得到以下内容:
我已经检查过文件夹缩略图/存在,并且图片存在。你知道还有什么可以发生吗?
/Users/ik/Dropbox/snapgram/public/photos/4af1e720-a662-11e3-952c-61812ab60f67.jpg
events.js:72
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at errnoException (net.js:904:11)
at Object.afterWrite (net.js:720:19)
computername:snapgram ik$
答案 0 :(得分:8)
我遇到同样的错误并发现了这个问题:
https://github.com/aheckmann/gm/issues/209
您可能需要同时安装imagemagick和graphicsmagick。这解决了我的问题。
答案 1 :(得分:3)
确保您的计算机上安装了imagemagick和graphicsmagick。
在ubuntu上安装graphicsmagick,
$ sudo add-apt-repository ppa:dhor/myway
$ sudo apt-get update
$ sudo apt-get install graphicsmagick