在Nodejs中用Graphicsmagick调整图像大小会生成emty文件

我试图调整现有的图像,然后将其上传到Azure存储,但没有成功…

gm("https://sinkroon.blob.core.windows.net/sinkroonboilerplate/dakterras1.jpg") .resize(50, 50) .stream(function (err, stdout, stderr) { var writeStream = blobSvc.createWriteStreamToBlockBlob( containerName, 'test.jpg', { contentType: 'image/jpg' }, function (error, result, response) { if (error) { console.error(error); } else { } }); stdout.pipe(writeStream); }); 

这会生成一个空的图像: https : //sinkroon.blob.core.windows.net/sinkroonboilerplate/test.jpg

不知道我在做什么错…任何人?

对于这种情况我使用这个:

 var request = require('request'); var lwip = require('lwip'); request({url: url, encoding:null}, function (err, response, imageBuffer) { var imageFormat = response.headers["content-type"].match(/(png|jpg|jpeg)/)[0]; lwip.open( imageBuffer, imageFormat, function(err, image){ if (err || !image) throw err; image.resize(196, 196, function(err, image){ if (err || !image) throw err; image.toBuffer(imageFormat, function(err, buffer){ //here you buffer you can save image in file with FS }); }); }); } });