Как отправить изображение вместе с полями в узел js

#node.js #reactjs #multer

#node.js #реагирует на #мультер

Вопрос:

Я пытаюсь отправить форму с несколькими изображениями, чтобы я мог сохранить ее в базе данных mysql. Моя форма выглядит так

 import React from 'react'; import axios from 'axios' export const Imageupload = ()=gt; {  const[File,setImageFiles] = React.useState(null)  const[firstName,setFirstName] = React.useState(null)  const[lastName,setLastName] = React.useState(null)  const upload = ()=gt;  {  if (File) {  console.log(File)  var formData = new FormData();  formData.append('firstname', firstName);  formData.append('lastname', lastName);  formData.append('fileslist', File);  var options = {  firstname:firstName,  lastname:lastName,  fileslist:File,  }  try {  const res = axios.post('/students/imgUpload', formData);    }  catch (err) {  if (err) {  console.log(err);  }  }  } else {  console.log("Please enter all fields");  }  }  return(  lt;gt;  lt;form encType="multipart/form-data"gt;  lt;input name="firstName" onChange={(e)=gt;setFirstName(e.target.value)} placeholder="enter first name"/gt;  lt;input name="lastName" onChange={(e)=gt;setLastName(e.target.value)} placeholder="enter last name"/gt;  lt;input type="file" name="ourimage" onChange={(e)=gt;setImageFiles(e.target.files[0])}/gt;  lt;button onClick={upload} type="button"gt;submitlt;/buttongt;  lt;/formgt;  lt;/gt;  ) }  

но когда я регистрирую запрос на узле js, я получил этот ответ, в котором файлы находятся в теле запроса, но они должны быть в файлах запроса однако req.файлы пусты

req вошел в систему на контроллере js узла

Я использую мультер и анализатор тела следующим образом

 const bodyParser = require('body-parser') var multer = require('multer'); var upload = multer(); app.use(bodyParser.json()) app.use(bodyParser.urlencoded({ extended: true })) app.use(upload.array('fileslist', 1));  app.use(express.static('public')); app.use('/students',students)  

Мой маршрутизатор и контроллер выглядят так

 router.post("/create-product",products.store)  

//контроллер

 exports.uploadForm = (req,res)=gt; {  var file = req  console.log( file)   }  

Примечание: Я пробовал вставлять их отдельно, чтобы вставлять поля в mysql отдельно и изображение отдельно с помощью lt;urlgt;, но мне не удается вставить их полностью, как на одном дыхании