先上错误,希望能给后续遇到的朋友避个坑!!!
错误分析:
请求后台参数:file文件,文件名,但是根据官网的描述,由于客户端发送文件名和文件的顺序,会导致req.body没有填充,导致文件名缺失,从而发生上述错误
const data = new FormData() const fileName = Date.now() + file.name data.append("file",file) data.append("name",fileName) newPost.img = fileName try{ await axios.post("/upload",data) }catch(err){ console.log(err) }
文档描述:
具体链接:Multer中文文档 - 江湖艺人 - 博客园 (cnblogs.com)
正确做法:
!!!!!调整文件名和文件顺序,把文件名放在文件前面,尽量把文件字段放在后面!!!!!!!!
const data = new FormData()
const fileName = Date.now() + file.name
data.append("name",fileName)
data.append("file",file)
newPost.img = fileName
try{
await axios.post("/upload",data)
}catch(err){
console.log(err)
}