2014-09-30 114 views
0

我试图调整使用ImageMagick的图像来调整图像,我已经提到this example无法使用ImageMagick的Node.js

和我收到此错误:

{ [Error: Command failed: Invalid Parameter - -set 
] timedOut: false, killed: false, code: 4, signal: null } 

下面是我的代码:

exports.generateThumbnail=function(imageURL,savePath,filename,callback){ 
    console.log(imageURL); 
    console.log(savePath); 
    console.log(filename); 

    var options = { 
     width: 80, 
     height: 80, 
     srcPath: imageURL, 
     dstPath: savePath+"\\thumb_"+filename 
    }; 

    im.resize(options, function(err) { 
     if(err) { console.log(err); } 
     console.log("Image resize complete"); 
    }); 

} 

这就是一切,我在我的控制台得到:

fieldNameHere 
{ _readableState: 
    { highWaterMark: 16384, 
    buffer: [], 
    length: 0, 
    pipes: null, 
    pipesCount: 0, 
    flowing: false, 
    ended: false, 
    endEmitted: false, 
    reading: false, 
    calledRead: false, 
    sync: true, 
    needReadable: false, 
    emittedReadable: false, 
    readableListening: false, 
    objectMode: false, 
    defaultEncoding: 'utf8', 
    ranOut: false, 
    awaitDrain: 0, 
    readingMore: false, 
    decoder: null, 
    encoding: null }, 
    readable: true, 
    domain: null, 
    _events: { end: [Function] }, 
    _maxListeners: 10, 
    truncated: false, 
    _read: [Function] } 
look.png 
7bit 
image/png 
.\Images\bhuwan\media\look.pnglook.png 
.\Images\bhuwan\media 
look.png 
{ [Error: Command failed: Invalid Parameter - -set 
] timedOut: false, killed: false, code: 4, signal: null } 

此外,我试过npmjs.org上的每个可能的库,包括像easyimage和节点缩略图这样的最流行的库。他们都没有在窗口上工作,并在github上列出问题。

我在这做错了什么?请帮忙。!

编辑:

以防万一你需要它,我呼吁上述方法的代码:

app.post('/uploadImage',function(req,res){ 
    console.log('Starting to read params'); 
    var alias=req.query.alias; 
    var imagetype=req.query.imagetype; //can be media/profile 
    console.log(alias); 
    console.log(imagetype); 
    var busboy = new Busboy({ headers: req.headers }); 
    busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { 
     saveTo = ".\\Images\\"+alias+"\\"+imagetype+"\\"+filename; 
     saveDirectory= ".\\Images\\"+alias+"\\"+imagetype; 
     console.log(fieldname); 
     console.log(file); 
     console.log(filename); //this is the one 
     ImageName=filename; 
     console.log(encoding); 
     console.log(mimetype); 
     imagePathFull=saveTo+filename; 
     if (fs.existsSync(saveTo)) { 
      file.pipe(fs.createWriteStream(saveTo)); 
     } 
     else{ 
      mkdirp(".\\Images\\"+alias+"\\"+imagetype,function(err){ 
       file.pipe(fs.createWriteStream(saveTo)); 
      }); 
     } 
    }); 
    busboy.on('finish', function() { 
     imageHandle.generateThumbnail(imagePathFull,saveDirectory,ImageName,function(err){ 
      if(!err){ 
       res.writeHead(200, { 'Connection': 'close' }); 
       res.status(200).end(); 
      } 
      else{ 
       res.writeHead(500, { 'Connection': 'close' }); 
       res.status(500).end(); 
      } 
     }); 

    }); 
    return req.pipe(busboy); 
}); 

回答