我可以通过skipper上传图像,然后使用sharp调整它们的大小,但对我来说效率似乎很低,因为skipper文档概述了文件流可以在文件上传之前用于图像缩略图。
我可以使用夏普模块动态调整图像大小吗?如果你能提供一些例子,我将不胜感激。提前谢谢你。
发布于 2020-05-19 07:11:09
在this answer和this博客文章的帮助下,我终于想出了一个解决方案:
upload: function(req, res) {
var sharp = require('sharp');
var Writable = require('stream').Writable;
var receiver = new Writable({objectMode: true});
receiver._write = function(file, enc, cb) {
var output = require('fs').createWriteStream('./assets/avatar/' + file.fd);
var resizeTransform = sharp().resize(100);
file.pipe(resizeTransform).pipe(output);
cb();
};
req.file('avatar').upload(receiver, (err, files) => {
if (err) {return res.serverError(err);}
return res.ok();
});
}https://stackoverflow.com/questions/61871367
复制相似问题