使用graphicMagic调整大小后将图像上传到AWS S3存储桶

乌奇特·库马尔

我正在使用graphicMagic调整图像的大小,然后再将其上传到AWS s3存储桶。尽管s3上传的响应很好,但是下面的代码上传的图像大小为0字节。以下代码是我在做什么。该路径是需要上传的图像的路径。该键是使文件名唯一的哈希键。

gm(path)
  .resize(100,100)
  .stream(function(err, stdout, stderr){
      if(err){
              console.log("Error resizing image. Message:",err);
      }
      else{
          console.log(stdout);
          var data = {
              Bucket: 'my-bucket',
              Key: key+"_thumb.jpg",
              Body: stdout,
              ACL: "public-read",
              ContentType:"image/jpeg"
          };
          p1 = s3.upload(data).promise();
      }
  });

我认为stdout不是正确的做法,但是我如何使其工作。

马科斯·卡萨格兰德

您的代码很好,您缺少gm依赖项:imagemagickgraphicsmagick,如果缺少其中之一,则不会触发任何错误,但您将获得一个0字节的文件。

取决于您的操作系统:

Ubuntu / Debian的

sudo apt-get install graphicsmagick
# or
sudo apt-get install imagemagick

苹果系统

brew install graphicsmagick
brew install imagemagick

对于Windows或其他操作系统,请检查:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章