Javascript 在节点js中调整图像大小

Javascript 在节点js中调整图像大小,javascript,node.js,amazon-web-services,amazon-s3,image-upload,Javascript,Node.js,Amazon Web Services,Amazon S3,Image Upload,我想在上传到s3(amazon)之前调整图片大小。 我尝试使用“resizeImg”功能,但它不能以标准尺寸上传图像,而不是新尺寸。 我的代码在NodeJS中编写,然后上传到s3 amazon。 图片名称为:beach_life-normal.jpg 我的代码: var AWS = require('aws-sdk'), fs = require('fs'); var express = require("express"); var app = express(); const re

我想在上传到s3(amazon)之前调整图片大小。 我尝试使用“resizeImg”功能,但它不能以标准尺寸上传图像,而不是新尺寸。 我的代码在NodeJS中编写,然后上传到s3 amazon。 图片名称为: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; }
    });
  });  
});

为什么你要传递原始文件并希望它上载新文件?另外,为什么你要在调整大小完成之前上载文件?好的,我需要做什么?我尝试了此代码它上载新图像(=新大小),但当我打开新图像时,它说:“无法打开此图像”,ie dosent上传图像更正您是否能够在本地打开图像?您确定问题不在于调整大小吗?你能检查一下本地文件的MD5和是否与上传的文件相同吗?是的,我试图在本地打开图像,我看到了图像