我在理解sharp和multer之间的关系时遇到了一些麻烦。
目前我正在使用 multer 从 req 中提取图像并将其保存到磁盘。效果很好:
const upload = Multer({
dest: './companyImages',
fileFilter,
limits: {
fileSize: MAX_SIZE
}
})
router
.route('/images')
.post(passportJWT, upload.array('files'), ImageUploadController.saveImage)
我可以看到如何使用 sharp 从磁盘或流中读取文件并调整其大小,将其作为第二个文件保存到磁盘。然后我会使用 fs.unlink 删除第一个文件。
sharp('./companyImages/0d928a1a10f462f33b8fed1ea1a20eec.png')
.resize(300, 200)
.toFile('output.jpg', function(err) {
// output.jpg is a 300 pixels wide and 200 pixels high image
// containing a scaled and cropped version of input.jpg
});
我宁愿将输出从 multer 传递给sharp,然后用sharp 进入磁盘。
问题 - 我还没有确定如何将 multer 的输出定向到磁盘上的目标以外的任何地方。我正在寻找想法和示例,并在此先感谢!