Express загрузка нескольких файлов с использованием express -fileupload и axios - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь загрузить несколько изображений в express js, используя express-fileupload и axios. Когда я загружаю одно изображение, это нормально, но когда я пытаюсь загрузить несколько изображений. Он загружен, но веб-страница перезагружена. Я не могу предотвратить эту перезагрузку. Как можно предотвратить действие этого события.

Это код express:

const fileUploader = Router.post("/", (req, res, next) => {  
  if (req.files === null) {
    return res.status(400).json({ mes: "No file uploaded" });
  }

  const item = req.files;
  Object.values(item).map(file => {
    file.mv(`${__dirname}/client/public/uploads/${file.name}`, err => {
      if (err) {
        return res.status(500).send(err);
      }
    });
  });  
});

Это код axios:

const onSubmitt = async event => {
    event.preventDefault();
    const formData = new FormData();
    Object.values(file).map((item, index) => {
      formData.append(`file${index}`, item);
    });
    try {
      const res = await axios.post("/upload", formData, {
        headers: {
          "Content-Type": "multipart/form-data"
        }
      });
      const { fileName, filePath } = res.data;
      setUploadedFile({ fileName, filePath });
      setMessage("File Uploaded");
    } catch (err) {
      if (err.response.status === 500) {
        setMessage("There was a problem with server");
      } else {
        setMessage(err.response.data.mes);
      }
    }
  };
...