【问题标题】:Error: write EPIPE with node.js and imagemagick错误:使用 node.js 和 imagemagick 编写 EPIPE
【发布时间】:2014-04-15 16:45:59
【问题描述】:

我不知道这个错误是从哪里来的,我希望你能帮助我。我是节点新手,正在尝试使用 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$ 

【问题讨论】:

  • 你能找到来自哪里吗?这也发生在我身上。
  • 我在 node.js 上使用 Meteor 应用随机出现完全相同的错误。有什么想法吗?

标签: javascript node.js express imagemagick epipe


【解决方案1】:

确保你的机器上安装了 imagemagick 和 graphicsmagick。

要在 ubuntu 上安装 graphicsmagick,

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

【讨论】:

  • 我在 windows 上安装了 graphicsmagick 和 imagemagick 但仍然出现错误。
【解决方案2】:

我遇到了同样的错误并发现了这个问题:

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

您可能需要同时安装 imagemagick 和 graphicsmagick。这解决了我的问题。

【讨论】:

  • 我在 windows 上安装了 graphicsmagick 和 imagemagick 但仍然出现错误。
猜你喜欢
  • 2014-12-26
  • 2012-02-04
  • 1970-01-01
  • 2019-01-21
  • 2016-04-25
  • 1970-01-01
  • 2020-12-04
  • 2014-06-24
  • 1970-01-01
相关资源
最近更新 更多