调整节点js中的图像大小

Resize image in node js

本文关键字:图像 节点 js 调整      更新时间:2023-09-26

我想在上传到s3(amazon)之前调整图像的大小。我试着使用"resizeImg"功能,但它无法以标准尺寸上传图像,而不是新尺寸。我的代码在nodejs中编写,然后上传到s3amazon。图像名称为:beach_life-normal.jpg

我的代码:

var AWS = require('aws-sdk'),
    fs = require('fs');
var express = require("express");
var app = express();
const resizeImg = require('resize-img');
// For dev purposes only
AWS.config.update({ accessKeyId: 'key', secretAccessKey: 'secret' });
var fileStream = fs.createReadStream('beach_life-normal.jpg');
fileStream.on('error', function (err) {
  if (err) { throw err; }
});  
fileStream.on('open', function () {
  var s3 = new AWS.S3();
resizeImg(fs.readFileSync('beach_life-normal.jpg'), {width: 128, height:  128}).then(buf => {
    fs.writeFileSync('beach_life-normal-new.jpg', buf);
});

  s3.putObject({
    Bucket: 'adinoauploadefile',
    Key: 'beach_life-normal.jpg',
    Body: fileStream
  }, function (err) {
    if (err) { throw err; }
  });
});

您应该上传新文件

var AWS = require('aws-sdk'),
fs = require('fs');
var express = require("express");
var app = express();
const resizeImg = require('resize-img');
// For dev purposes only
AWS.config.update({ accessKeyId: 'key', secretAccessKey: 'secret' });
var fileStream = fs.createReadStream('beach_life-normal.jpg');
fileStream.on('error', function (err) {
  if (err) { throw err; }
});  
fileStream.on('open', function () {
  var s3 = new AWS.S3();
resizeImg(fs.readFileSync('beach_life-normal.jpg'), {width: 128, height:  128}).then(buf => {
    fs.writeFileSync('beach_life-normal-new.jpg', buf);
    s3.putObject({
      Bucket: 'adinoauploadefile',
      Key: 'beach_life-normal-new.jpg',
      Body: 'beach_life-normal-new.jpg'
    }, function (err) {
     if (err) { throw err; }
    });
  });  
});