не удается отправить файл данных в серверную часть reactjs

#javascript #node.js #reactjs

#javascript #node.js #reactjs

Вопрос:

привет, ребята, я пытаюсь отправить файл ввода данных из react js в nodejs, но я получил undefined

здесь клиент

 const [myFile, setmyFile] = useState("");

  const onFileUpload = () => {
    try {
      const data = new FormData();
      data.append("file", myFile);
      Axios.post(url   "uploads", data).then((res) => {
        console.log(res.statusText);
      });
    } catch (error) {
      console.error("Error while uploading image to server", error);
    }
  };

<div>
        <h1>GeeksforGeeks</h1>
        <h3>File Upload using React!</h3>
        <div>
          <input
            type="file"
            onChange={(event) => {
              setmyFile(event.target.files[0]);
            }}
          />
          <button onClick={onFileUpload}>Upload!</button>
        </div>
        {/* {fileData()} */}
      </div>
  

здесь сервер

 app.post("/uploads", async (req, res, next) => {
  console.log(req.file);
});
  

может кто-нибудь мне помочь: D

Комментарии:

1. Я предлагаю вам использовать пакет, подобный multer, для обработки файлов на сервере. npmjs.com/package/multer

Ответ №1:

Используйте множественный npm

 const multer  = require('multer')
const upload = multer({
  dest: 'uploads/'
})

app.post("/uploads", upload.single('file'), async (req, res, next) => {
  console.log(req.file);
});