Подтвердить что ты не робот

Ошибка: напишите EPIPE с помощью node.js и imagemagick

Я потерялся относительно того, откуда эта ошибка, и я надеюсь, что вы можете мне помочь. Я новичок в 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');
    });
});

Я получаю следующее:

Я уже проверял, что папка thumbnail/существует и что изображение существует. Вы знаете, что еще может быть?

/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$ 
4b9b3361

Ответ 1

Я получал эту же ошибку и обнаружил эту проблему:

https://github.com/aheckmann/gm/issues/209

Возможно, вам понадобятся оба образа imagemagick и graphicsmagick. Это решило мою проблему.

Ответ 2

Убедитесь, что на вашем компьютере установлены как imagemagick, так и graphicsmagick.

Чтобы установить graphicsmagick на ubuntu,

$ sudo add-apt-repository ppa:dhor/myway
$ sudo apt-get update
$ sudo apt-get install graphicsmagick