Я отправляю данные формы, которые также включают файлы, однако при доступе к файлам req.в express они возвращаются неопределенными

#node.js #reactjs #express #file-upload #undefined

Вопрос:

Я отправляю данные формы в своем приложении react, которое также включает файл. Однако, когда я пытаюсь получить доступ к req.файлам на моем экспресс-сервере, он всегда возвращает «Неопределенный». (Я проходил через подобные вопросы, но они не решают мою проблему) Вот мой код на стороне клиента

 const AddCategory = () =gt; {  const categoryName = useRef("");  const categoryImage = useRef("");   async function PostCategory(e) {  e.preventDefault();   //checking file type and size  categoryImage.current.files[0].type.slice(0, 5) != "image" ? alert("Only Images are acceptable") :  categoryImage.current.files[0].size gt; 1024 * 1024 ? alert("Oversized Image File") :   console.log("Continue");    let data = new FormData();  data.append('name', JSON.stringify(categoryName.current.value));  data.append('file', categoryImage.current.files[0]);   let response = await fetch("AddCategory", {  method: 'POST',  body: data,  header: {  'Content-Type': 'multipart/form-data',  }  })   }  return (  lt;divgt;  lt;NavigationBar /gt;  lt;div className="jumbotron"gt;  lt;h3gt;Add Categorylt;/h3gt;  lt;/divgt;  lt;div className="container"gt;  lt;form onSubmit={(e) =gt; PostCategory(e)} id="AddCategory" className="text-alignment-left"gt;  lt;Row className="mb-3"gt;  lt;Form.Group as={Col} className="mb-3" controlId="formGridcategoryName"gt;  lt;Form.Labelgt;Categorylt;/Form.Labelgt;  lt;Form.Control ref={categoryName} type="text" required /gt;  lt;/Form.Groupgt;  lt;Form.Group as={Col}gt;  lt;Form.Labelgt;Imagelt;/Form.Labelgt;  lt;Form.Control ref={categoryImage} name="categoryImage" type="file" accept="image/*" required /gt;  lt;/Form.Groupgt;  lt;/Rowgt;  lt;Button type="submit" variant="primary"gt;  Add Category  lt;/Buttongt;  lt;/formgt;   lt;/divgt;  lt;/divgt;  ) }  

Вот мой код на стороне сервера

 const express = require('express'); const bodyParser = require('body-parser'); const routesHandler = require('./routes/handlers.js'); const fileUpload = require('express-fileupload');  const app = express(); app.use(bodyParser.urlencoded({extended:false})); app.use(bodyParser.json());  app.use('/', routesHandler); app.use(fileUpload())  const PORT = 4000; app.listen(PORT, () =gt; {  console.log(PORT); })  router.post("/AddCategory", (req, res) =gt; {  console.log("Request Received");  console.log(req.files.file);  });  

Может ли кто-нибудь предположить, что происходит не так?