【发布时间】:2016-07-10 07:44:03
【问题描述】:
在将图片上传到 s3(亚马逊)之前,我需要调整它们的大小。 我试过这个功能,但它不起作用。
这是上传图片的函数。
我的文件名是:beach_life-normal.jpg
我试过这个新代码,但还是不行!!!
这是我的代码:
var AWS = require('aws-sdk'),
fs = require('fs');
var express = require("express");
var app = express();
var im = require('imagemagick');
// For dev purposes only
AWS.config.update({ accessKeyId: '', secretAccessKey: '' });
// Read in the file, convert it to base64, store to S3
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();
im.resize({
srcPath: 'beach_life-normal.jpg',
dstPath: 'beach_life-normal-small.jpg',
width: 256
});
s3.putObject({
Bucket: 'adinoauploadefile',
Key: 'beach_life-normal.jpg',
Body: fileStream
}, function (err) {
if (err) { throw err; }
});
});
【问题讨论】:
-
根据我的经验,
imagemagick模块毫无意义——它只是对命令行实用程序的限制性包装。请参阅我的答案以获得更有效的直接执行方式。
标签: javascript node.js amazon-s3 image-resizing