问题:在使用 multer 插件进行文件上传到磁盘时时,打印 req.body 为 undefined
var storage = multer.diskStorage({
// 存放路径
destination: function (req, file, cb) {
// let url = req.body.url
let type = req.body.type
console.log(type) // 为 undefined
cb(null, `./public/img`)
},
// 存放文件名
filename: function (req, file, cb) {
// 生成随机字符串
let salt = bcrypt.genSaltSync(10)
// . 表示非换行符的任意字符 + 表示 1 ~ n次 \ 转义字符,匹配任意字符到 "." 然后替换成"."
let name = file.originalname.replace(/.+\./, '.')
cb(null, salt + Date.now() + name)
}
})
解决办法: multer 是 用于处理 multipart/form-data
类型的表单数据 ,我看了我的代码在设置跨域请求时:我忘记添加 res.header("Content-Type", "application/json;charset=utf-8") 这一项了,添加之后,就可以了