я хочу использовать следующую библиотеку для сжатия изображений https://github.com/imagemin/imageminКак использовать imagemin для сжатия изображений и Busboy
Проблема заключается в том, когда добавления пользователя, используя форму, как я включаю в деталях файла из формы к плану min min? Например, если поле формы файла является примером-образцом вызова, как подключить это поле формы к плану min min изображения, чтобы он мог сжимать изображения?
Я пробовал:
REQ от экспресс/nodejs REQ
var filebus = new Busboy({ headers: req.headers }),
promises = [];
filebus.on('file', function(fieldname, file, filename, encoding, contentType) {
var fileBuffer = new Buffer(0),
s3ImgPath;
if (file) {
file.on('data', function (d) {
fileBuffer = Buffer.concat([fileBuffer, d]);
}).on('end', function() {
Imagemin.buffer(fileBuffer, {
plugins: [
imageminMozjpeg(),
imageminPngquant({quality: '80'})
]
}).then(function (data) {
console.log(data[0]);
if (s3ImgPath) {
promises.push(this.pushImageToS3(s3ImgPath, data[0].data, contentType));
}
});
}.bind(this));
}
});
Но проблема, я предпочитаю иметь буфер файла, который я могу загрузить на S3. Я не хочу приводить файлы в папку build/images. Я хочу получить буфер для файла, сжать его и загрузить этот буфер в s3. Как я могу использовать изображение мин, чтобы получить буфер загрузки файла через форму html и загрузить его на s3?
Пожалуйста показать любой код, который вы имеете до сих пор. Предпочтительно рабочий сервер и веб-страница с формой. – tcooc
Я добавил дополнительную информацию –
Использовать ее - https://www.npmjs.com/package/compress-images –