Javascript 对multer进行API调用以存储文件时出错

Javascript 对multer进行API调用以存储文件时出错,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我使用multer创建了一个节点API来存储文件,调用时出错,请帮助。下面是代码和错误- 代码- const storage=multer.diskStorage({ 目的地:'./公共/上载', 文件名:函数(请求、文件、cb){ cb(null,file.fieldname+'-'+Date.now()+path.extname(file.originalname)); } }); //初始化上传 const upload=multer({ 存储:存储, 限制:{fieldSize:100

我使用multer创建了一个节点API来存储文件,调用时出错,请帮助。下面是代码和错误-

代码-

const storage=multer.diskStorage({
目的地:'./公共/上载',
文件名:函数(请求、文件、cb){
cb(null,file.fieldname+'-'+Date.now()+path.extname(file.originalname));
}
});
//初始化上传
const upload=multer({
存储:存储,
限制:{fieldSize:100000}
}).single(“myImage”);
app.post('/upload',(req,res)=>{
上传(请求、恢复、(错误)=>{
如果(错误){
res.json({
msg:req.body,
});
}否则{
res.json({
msg:'文件已上载',
文件:`upload/${req.file.filename}`
});
}
})

})
在前端代码上,您是否确保输入名称为myImage

如果您使用的是HTML,请尝试使用此代码

   <input type=“file” name=“myImage” />

我希望这能帮助我传递文件名-

uploadFile=(e)=>{
让file=e.target.files[0];
let data=new FormData();
data.append('myImage',文件);
轴心柱http://localhost:5000/upload",数据,{
标题:{
“内容类型”:“多部分/表单数据”
}
}).then(res=>this.setState({file:res.data.file}));
}

我没有检查它,但我相信它必须是文件大小而不是字段大小,可能

尝试不要使用
限制:{fieldSize:100000}
属性。仍然没有运气,得到错误-{“msg”:{“name”:“MulterError”,“message”:“Unexpected field”,“code”:“LIMIT\u Unexpected\u FILE”,“storageErrors”:[]}在前端使用React,并使用相同的名称{this.uploadFile(e)}}name=“myImage”/>Yes,它通过将名称传递到API调用中的键来工作。这是我的错,可能是我弄错了。检查我编辑的答案应该有助于使用react尝试react代码并分享任何其他问题您可能有第一条评论(已删除)出于调试目的,您应该尝试向postman发出请求
  const uploadFile = (e) =>{
       e.preventDefault();
      let file = e.target.files[0];
      let data = new FormData();
      data.append('myImage', file);
      axios.post('http://localhost:5000/upload', data, {
          headers: {
            'Content-Type': 'multipart/form-data'
          }
      }).then(res => this.setState({file: res.data.file}));
    }
limits: {fileSize: 100000}