1 回答

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
multer只是一個(gè)中間件,用于處理來自帶有multipart/form-data
標(biāo)頭的請求的數(shù)據(jù),你不能用它進(jìn)行圖像處理,盡管很少有像multer-sharp或multer-sharp-s3這樣的將圖像處理庫與 multer 集成的包(用于上傳到S3 桶)。
multer 的唯一目的是向請求對象添加正文對象和文件對象嗎?
那,還有你想存儲文件的地方(多存儲)
這是否意味著我需要另一個(gè)專門處理圖像處理的包?
是的,單靠 multer 不能做我上面提到的任何圖像處理。你可以用sharp之類的東西來做圖像處理。
該包是否會從文件對象中獲取文件流緩沖區(qū)并將其放入實(shí)際文件中,然后對其應(yīng)用所有更改?
是的,例如使用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 文章
添加回答
舉報(bào)