Javascript 上传前如何调整图像大小

Javascript 上传前如何调整图像大小,javascript,node.js,amazon-s3,image-uploading,image-resizing,Javascript,Node.js,Amazon S3,Image Uploading,Image Resizing,我想在上传到s3 amazon之前调整图片大小。 我需要3个不同的大小:调整大小(原始图像,缩略图,网页大小)。 我该怎么做? 我如何获得我的图像的路径,这是过去的方法后 这是我的代码:(用js节点将图像上传到s3amazon) 使用graphicsmagick和imagemagick来实现这一点。也包括gm模块 示例: gm(buf) .resize(100, 100) .toBuffer('PNG',function (err, buffer) { if (err) return han

我想在上传到s3 amazon之前调整图片大小。 我需要3个不同的大小:调整大小(原始图像,缩略图,网页大小)。 我该怎么做? 我如何获得我的图像的路径,这是过去的方法后

这是我的代码:(用js节点将图像上传到s3amazon)


使用graphicsmagick和imagemagick来实现这一点。也包括gm模块

示例:

gm(buf)
.resize(100, 100)
.toBuffer('PNG',function (err, buffer) {
  if (err) return handle(err);
  console.log('done!');
upload(buffer,function(err){
if(!err)
console.log("uploaded")
 }
}) //use buffer for upload

function upload(buffer,callback){
s3bucket = new AWS.S3();
params={
    Bucket: bucketName,
    Key: folder + '/' + fileName,
    Body: buffer,
    ACL: 'public-read'
}
s3bucket.putObject(params,function(err)....
}

使用graphicsmagick和imagemagick来实现这一点。也包括gm模块

示例:

gm(buf)
.resize(100, 100)
.toBuffer('PNG',function (err, buffer) {
  if (err) return handle(err);
  console.log('done!');
upload(buffer,function(err){
if(!err)
console.log("uploaded")
 }
}) //use buffer for upload

function upload(buffer,callback){
s3bucket = new AWS.S3();
params={
    Bucket: bucketName,
    Key: folder + '/' + fileName,
    Body: buffer,
    ACL: 'public-read'
}
s3bucket.putObject(params,function(err)....
}
HTML组件:

*<*input type="file" class="hidden" id="logoFile">// remove *
您可以根据自己的意愿设置尺寸

试试这个:

image.resize(200, 200, function(err, image){
    // encode resized image to jpeg and get a Buffer object
    image.toBuffer('jpg', function(err, buffer){
    // save buffer to disk / send over network / etc.
   });
});
HTML组件:

*<*input type="file" class="hidden" id="logoFile">// remove *
您可以根据自己的意愿设置尺寸

试试这个:

image.resize(200, 200, function(err, image){
    // encode resized image to jpeg and get a Buffer object
    image.toBuffer('jpg', function(err, buffer){
    // save buffer to disk / send over network / etc.
   });
});

好的,我下载了所有东西,现在我需要把这些代码放在我的代码中的什么地方?在创建文件缓冲区/流之后,检查gm模块的流和缓冲方法,只需传递流/缓冲区,最终转换后的图像的流/缓冲区将被返回,使用它上传到s3 Buckett dosent work给我。图像的大小与之前相同,我尝试更改我的示例,也许现在,你会明白,好的,我下载了所有内容,现在我需要将这些代码放在我的代码中的什么位置?在创建文件缓冲区/流之后,检查gm模块的流和缓冲方法,只需传递流/缓冲区,最终转换图像的流/缓冲区将返回,并使用该流/缓冲区上传到s3 Buckett dosent work给我。图像的大小和以前一样我试着改变我的例子也许现在,你会从哪里得到“图像”>?从哪里得到“图像”>?