2016-04-17 14 views
0

Ist mein Code, der auf localhost funktioniert, aber nicht auf EC2 (ich verwendete Elastic BeanStalk). Ich erhalte Fehler: Strom ergibt leeren Puffer auf toBuffer Funktion. Kann jemand erklären, wie man es repariert? Ich sah dies post, aber ich habe nicht verstanden, wie Sie JPEG-Unterstützung in EC2 hinzufügen.Fehler: Stream ergibt leeren Puffer nur auf EC2

var _45px = { width: 45, dstnKey: fileName, destinationPath: "thumbnails" }; 
function convert(response, next) { 
     console.time("convertImage"); 
     console.log("Reponse content type : " + response.ContentType); 
     console.log("Conversion"); 
     GM(response.Body, fullName).antialias(true).density(300).setFormat('jpeg').toBuffer(
      function(err, buffer) { 
       if (err) { 
        next(err); 
       } else { 
        console.timeEnd("convertImage"); 
        next(null, buffer); 
       } 
      }); 
    } 

Antwort

-2

Ich konfrontiert ein ähnliches Problem mit PNG-Format. Das Problem tritt auf, weil EC2-Instanzen keine Unterstützung für PNG und JPEG bieten. Daher müssen wir die erforderlichen Abhängigkeiten entsprechend installieren, sonst gibt imageMagick (oder graphicmagick) keinen Stream-Wert als Ausgabe zurück.

Für PNG-Unterstützung hinzugefügt Ich habe versucht, graphicsmagick Modul zu deinstallieren und anschließend die Abhängigkeiten installiert und neu installiert graphicsmagick:

apt-get libpng-dev installieren, apt-get install graphicsmagick (In Ihrem Fall diese imagemagick wäre)

Dies löste das Problem. Ich glaube für JPEG-Unterstützung wäre die Bibliothek: libjpeg-dev.

Diese sind für EC2 ubuntu-Instanzen