node中multer包的使用
//这样可以保留导入图片的文件名
const storage = multer.diskStorage({
destination:'./uploads',
filename(req,file,cb){
cb(null,Date.now() + extname(file.originalname))
}
})
const uploader = multer({
storage,
// 通过这个方法,可以对上传的文件进行过滤,只允许接收指定的文件类型
fileFilter(req,file,cb){
console.log(extname(file.originalname),'hhh')
const ename = extname(file.originalname)
if(['.jpg','.png'].includes(ename)){
cb(null,true)
}else{
cb(new Error('只能接受.jpg和.png后缀的图片'))
}
}
})
//开放成静态资源以及使用
app.use('/uploads',express.static(path.join(__dirname,'./uploads')))
app.post('/uploads',uploader.single('img'),(req,res)=>{
console.log(req.body)
console.log('-----------')
console.log(req.file)
res.send({
message:ok
})
})