1 回答
TA贡献1788条经验 获得超4个赞
multer只是一个中间件,用于处理来自带有multipart/form-data标头的请求的数据,你不能用它进行图像处理,尽管很少有像multer-sharp或multer-sharp-s3这样的将图像处理库与 multer 集成的包(用于上传到S3 桶)。
multer 的唯一目的是向请求对象添加正文对象和文件对象吗?
那,还有你想存储文件的地方(多存储)
这是否意味着我需要另一个专门处理图像处理的包?
是的,单靠 multer 不能做我上面提到的任何图像处理。你可以用sharp之类的东西来做图像处理。
该包是否会从文件对象中获取文件流缓冲区并将其放入实际文件中,然后对其应用所有更改?
是的,例如使用sharp库:
router.post('/upload',upload.single('image') ,async (req, res) => {
const { filename: image } = req.file
await sharp(req.file.path)
.resize(500)
.jpeg({quality: 50})
.toFile(
path.resolve(req.file.destination,'resized',image)
)
fs.unlinkSync(req.file.path)
return res.send('SUCCESS!')
})
示例取自这篇 dev.to 文章
添加回答
举报
